protected function setUp() { parent::setUp(); $this->manager = $this->getMockBuilder('OCA\\AnnouncementCenter\\Manager')->disableOriginalConstructor()->getMock(); $this->l = $this->getMockBuilder('OCP\\IL10N')->disableOriginalConstructor()->getMock(); $this->l->expects($this->any())->method('t')->willReturnCallback(function ($string, $args) { return vsprintf($string, $args); }); $this->factory = $this->getMockBuilder('OCP\\L10N\\IFactory')->disableOriginalConstructor()->getMock(); $this->factory->expects($this->any())->method('get')->willReturn($this->l); $this->notifier = new NotificationsNotifier($this->manager, $this->factory); }
public function testAppNavigation() { $this->navigationManager->expects($this->once())->method('add')->willReturnCallback(function ($closure) { $this->assertInstanceOf('\\Closure', $closure); $navigation = $closure(); $this->assertInternalType('array', $navigation); $this->assertCount(5, $navigation); $this->assertSame(['id' => 'announcementcenter', 'order' => 10, 'href' => '/apps/announcementcenter/announcement', 'icon' => '/apps/announcementcenter/img/announcementcenter.svg', 'name' => 'Announcements'], $navigation); }); $this->urlGenerator->expects($this->once())->method('linkToRoute')->with('announcementcenter.page.index')->willReturn('/apps/announcementcenter/announcement'); $this->urlGenerator->expects($this->once())->method('imagePath')->with('announcementcenter', 'announcementcenter.svg')->willReturn('/apps/announcementcenter/img/announcementcenter.svg'); $this->languageFactory->expects($this->once())->method('get')->with('announcementcenter')->willReturn($this->language); include __DIR__ . '/../../appinfo/app.php'; }
protected function setUp() { parent::setUp(); $this->request = $this->getMockBuilder('OCP\\IRequest')->disableOriginalConstructor()->getMock(); $this->session = $this->getMockBuilder('OCP\\IUserSession')->disableOriginalConstructor()->getMock(); $this->config = $this->getMockBuilder('OCP\\IConfig')->disableOriginalConstructor()->getMock(); $this->activityHelper = $this->getMockBuilder('OCA\\Files\\ActivityHelper')->disableOriginalConstructor()->getMock(); $this->activityManager = new \OC\ActivityManager($this->request, $this->session, $this->config); $this->l10nFactory = $this->getMockBuilder('OCP\\L10N\\IFactory')->disableOriginalConstructor()->getMock(); $deL10n = $this->getMockBuilder('OC_L10N')->disableOriginalConstructor()->getMock(); $deL10n->expects($this->any())->method('t')->willReturnCallback(function ($argument) { return 'translate(' . $argument . ')'; }); $this->l10nFactory->expects($this->any())->method('get')->willReturnMap([['files', null, new \OC_L10N('files', 'en')], ['files', 'en', new \OC_L10N('files', 'en')], ['files', 'de', $deL10n]]); $this->activityExtension = $activityExtension = new Activity($this->l10nFactory, $this->getMockBuilder('OCP\\IURLGenerator')->disableOriginalConstructor()->getMock(), $this->activityManager, $this->activityHelper, \OC::$server->getDatabaseConnection(), $this->config); $this->activityManager->registerExtension(function () use($activityExtension) { return $activityExtension; }); }
/** * @dataProvider dataTranslation * * @param string $app * @param string $text * @param array $params * @param array $prepared * @param bool $stripPath * @param bool $highlightParams * @param bool|string $managerReturn * @param string $expected */ public function testTranslation($app, $text, array $params, array $prepared, $stripPath, $highlightParams, $managerReturn, $expected) { $this->activityManager->expects($this->once())->method('translate')->with($app, $text, $prepared, $stripPath, $highlightParams)->willReturn($managerReturn); if ($managerReturn === false) { $l = $this->getMockBuilder('OCP\\IL10N')->disableOriginalConstructor()->getMock(); $l->expects($this->once())->method('t')->with($text, $prepared)->willReturn('lang'); $this->l10Nfactory->expects($this->once())->method('get')->with($app, $this->anything())->willReturn($l); } $helper = $this->getHelper(); $this->assertSame($expected, (string) $helper->translation($app, $text, $params, $stripPath, $highlightParams)); }
/** * @dataProvider dataTranslate * * @param string $app * @param string $text * @param array $params * @param bool $stripPath * @param bool $highlightParams * @param string $languageCode * @param mixed $managerReturn * @param string $currentUser * @param mixed $expected */ public function testTranslate($app, $text, $params, $stripPath, $highlightParams, $languageCode, $managerReturn, $currentUser, $expected) { if ($managerReturn === null) { $this->manager->expects($this->never())->method('getAnnouncement'); } else { $this->factory->expects($this->any())->method('get')->with('announcementcenter', $languageCode)->willReturn($this->l); $this->activity->expects($this->any())->method('getCurrentUserId')->willReturn($currentUser); if ($managerReturn === false) { $this->manager->expects($this->once())->method('getAnnouncement')->with(10, $highlightParams)->willThrowException(new \InvalidArgumentException()); } else { $this->manager->expects($this->once())->method('getAnnouncement')->with(10, $highlightParams)->willReturn($managerReturn); } } $this->assertSame($expected, $this->extension->translate($app, $text, $params, $stripPath, $highlightParams, $languageCode)); }