ILIAS  trunk Revision v11.0_alpha-2645-g16283d3b3f8
ILIAS\ContentPage\PageMetricsTest Class Reference
+ Inheritance diagram for ILIAS\ContentPage\PageMetricsTest:
+ Collaboration diagram for ILIAS\ContentPage\PageMetricsTest:

Public Member Functions

 testRepositoryThrowsExceptionWhenPageMetricsShouldBeRetrievedButNoPageMetricsExist ()
 
 testPageMetricsCouldBeRetrievedFromRepository ()
 
 testPropertiesAreAccessedWhenStoringPageMetrics ()
 
 testPropertiesAreAccessedWhenDeletingPageMetrics ()
 
 testCommandsWorkAsExpected ()
 
 testEventsWorkAsExpected ()
 
 testPageMetricsCanBeRetrievedFromService ()
 

Detailed Description

Definition at line 36 of file PageMetricsTest.php.

Member Function Documentation

◆ testCommandsWorkAsExpected()

ILIAS\ContentPage\PageMetricsTest::testCommandsWorkAsExpected ( )

Definition at line 102 of file PageMetricsTest.php.

102  : void
103  {
104  $getPageMetrics = new GetPageMetricsCommand(1337, 'de');
105  $this->assertSame('de', $getPageMetrics->getLanguage());
106  $this->assertSame(1337, $getPageMetrics->getContentPageId());
107 
108  $storePageMetrics = new StorePageMetricsCommand(1337, 'de');
109  $this->assertSame('de', $storePageMetrics->getLanguage());
110  $this->assertSame(1337, $storePageMetrics->getContentPageId());
111  }

◆ testEventsWorkAsExpected()

ILIAS\ContentPage\PageMetricsTest::testEventsWorkAsExpected ( )

Definition at line 113 of file PageMetricsTest.php.

113  : void
114  {
115  $page = $this->getMockBuilder(ilContentPagePage::class)->disableOriginalConstructor()->getMock();
116 
117  $pageUpdated = new PageUpdatedEvent($page);
118  $this->assertSame($page, $pageUpdated->page());
119  }

◆ testPageMetricsCanBeRetrievedFromService()

ILIAS\ContentPage\PageMetricsTest::testPageMetricsCanBeRetrievedFromService ( )

Definition at line 121 of file PageMetricsTest.php.

References $service.

121  : void
122  {
123  $readingTimeInMinutes = 4711;
124  $language = 'fr';
125  $pageId = 1337;
126  $contentPageId = 1337;
127 
128  $readingTime = new PageReadingTime($readingTimeInMinutes);
129 
130  $pageMetrics = $this->getMockBuilder(PageMetrics::class)->disableOriginalConstructor()->getMock();
131  $pageMetrics->method('contentPageId')->willReturn($contentPageId);
132  $pageMetrics->method('pageId')->willReturn($pageId);
133  $pageMetrics->method('language')->willReturn($language);
134  $pageMetrics->method('readingTime')->willReturn($readingTime);
135 
136  $repo = $this->getMockBuilder(PageMetricsRepository::class)->getMock();
137  $repo->expects($this->once())->method('findBy')->with($contentPageId, $pageId, $language)->willReturn($pageMetrics);
138 
139  $service = new PageMetricsService(
140  $repo,
141  new \ILIAS\Refinery\Factory(
142  new \ILIAS\Data\Factory(),
143  $this->getMockBuilder(\ilLanguage::class)->disableOriginalConstructor()->getMock(),
144  )
145  );
146 
147  $receivedPageMetrics = $service->get(new GetPageMetricsCommand($contentPageId, $language));
148  $this->assertSame($pageMetrics, $receivedPageMetrics);
149  }
Interface Observer Contains several chained tasks and infos about them.
$service
Definition: ltiservices.php:40

◆ testPageMetricsCouldBeRetrievedFromRepository()

ILIAS\ContentPage\PageMetricsTest::testPageMetricsCouldBeRetrievedFromRepository ( )

Definition at line 49 of file PageMetricsTest.php.

49  : void
50  {
51  $readingTimeInMinutes = 4711;
52  $language = 'en';
53  $pageId = 1337;
54  $contentPageId = 1337;
55 
56  $database = $this->getMockBuilder(ilDBInterface::class)->getMock();
57  $database->method('fetchAssoc')->willReturn(
58  [
59  'content_page_id' => $contentPageId,
60  'page_id' => $pageId,
61  'lang' => $language,
62  'reading_time' => $readingTimeInMinutes
63  ]
64  );
65 
66  $repo = new PageMetricsRepositoryImp($database);
67  $pageMetrics = $repo->findBy($contentPageId, $pageId, $language);
68 
69  $this->assertSame($readingTimeInMinutes, $pageMetrics->readingTime()->minutes());
70  $this->assertSame($language, $pageMetrics->language());
71  $this->assertSame($contentPageId, $pageMetrics->contentPageId());
72  $this->assertSame($pageId, $pageMetrics->pageId());
73  }

◆ testPropertiesAreAccessedWhenDeletingPageMetrics()

ILIAS\ContentPage\PageMetricsTest::testPropertiesAreAccessedWhenDeletingPageMetrics ( )

Definition at line 89 of file PageMetricsTest.php.

89  : void
90  {
91  $database = $this->getMockBuilder(ilDBInterface::class)->getMock();
92 
93  $pageMetrics = $this->getMockBuilder(PageMetrics::class)->disableOriginalConstructor()->getMock();
94  $pageMetrics->expects($this->once())->method('contentPageId');
95  $pageMetrics->expects($this->once())->method('pageId');
96  $pageMetrics->expects($this->once())->method('language');
97 
98  $repo = new PageMetricsRepositoryImp($database);
99  $repo->delete($pageMetrics);
100  }

◆ testPropertiesAreAccessedWhenStoringPageMetrics()

ILIAS\ContentPage\PageMetricsTest::testPropertiesAreAccessedWhenStoringPageMetrics ( )

Definition at line 75 of file PageMetricsTest.php.

75  : void
76  {
77  $database = $this->getMockBuilder(ilDBInterface::class)->getMock();
78 
79  $pageMetrics = $this->getMockBuilder(PageMetrics::class)->disableOriginalConstructor()->getMock();
80  $pageMetrics->expects($this->once())->method('contentPageId');
81  $pageMetrics->expects($this->once())->method('pageId');
82  $pageMetrics->expects($this->once())->method('language');
83  $pageMetrics->expects($this->once())->method('readingTime');
84 
85  $repo = new PageMetricsRepositoryImp($database);
86  $repo->store($pageMetrics);
87  }

◆ testRepositoryThrowsExceptionWhenPageMetricsShouldBeRetrievedButNoPageMetricsExist()

ILIAS\ContentPage\PageMetricsTest::testRepositoryThrowsExceptionWhenPageMetricsShouldBeRetrievedButNoPageMetricsExist ( )

Definition at line 38 of file PageMetricsTest.php.

References null.

38  : void
39  {
40  $this->expectException(CouldNotFindPageMetrics::class);
41 
42  $database = $this->getMockBuilder(ilDBInterface::class)->getMock();
43  $database->method('fetchAssoc')->willReturn(null);
44 
45  $repo = new PageMetricsRepositoryImp($database);
46  $repo->findBy(1, 1, 'de');
47  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

The documentation for this class was generated from the following file: