Skip to content

Commit 9dda5a3

Browse files
committed
Fix printer log tests
1 parent 6dac48c commit 9dda5a3

File tree

2 files changed

+35
-23
lines changed

2 files changed

+35
-23
lines changed

src/PrinterLog.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ public function getMetrics(
138138
'FROM' => $this->getTable(),
139139
'WHERE' => [
140140
'printers_id' => $printer->fields['id']
141-
] + $filters
141+
] + $filters,
142+
'ORDER' => 'date ASC',
142143
]);
143144

144145
$series = iterator_to_array($iterator, false);

tests/functional/PrinterLog.php

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ public function testGetMetrics()
5454

5555
$log = new \PrinterLog();
5656

57-
$cdate1 = clone $now;
58-
$cdate1->sub(new \DateInterval('P14M'));
57+
$cdate1 = new \DateTime('-14 months');
5958
$input = [
6059
'printers_id' => $printers_id,
6160
'total_pages' => 5132,
@@ -67,8 +66,7 @@ public function testGetMetrics()
6766
];
6867
$this->integer($log->add($input))->isGreaterThan(0);
6968

70-
$cdate2 = clone $now;
71-
$cdate2->sub(new \DateInterval('P6M'));
69+
$cdate2 = new \DateTime('-6 months');
7270
$input = [
7371
'printers_id' => $printers_id,
7472
'total_pages' => 6521,
@@ -80,6 +78,18 @@ public function testGetMetrics()
8078
];
8179
$this->integer($log->add($input))->isGreaterThan(0);
8280

81+
$cdate3 = new \DateTime('first day of previous month');
82+
$input = [
83+
'printers_id' => $printers_id,
84+
'total_pages' => 3464,
85+
'bw_pages' => 2154,
86+
'color_pages' => 1310,
87+
'rv_pages' => 548,
88+
'scanned' => 4657,
89+
'date' => $cdate3->format('Y-m-d')
90+
];
91+
$this->integer($log->add($input))->isGreaterThan(0);
92+
8393
$input = [
8494
'printers_id' => $printers_id,
8595
'total_pages' => 9299,
@@ -91,41 +101,42 @@ public function testGetMetrics()
91101
];
92102
$this->integer($log->add($input))->isGreaterThan(0);
93103

94-
//per default, get 1Y old, first not included
95-
$this->array($log->getMetrics($printer))->hasSize(2);
104+
//per default, get 1Y old, first not included
105+
$this->array($log->getMetrics($printer))->hasSize(3);
96106

97-
//same with start_date parameter
98-
$this->array($log->getMetrics($printer, start_date: $cdate1))->hasSize(3);
99-
//same with interval parameter
100-
$this->array($log->getMetrics($printer, interval: 'P14M'))->hasSize(3);
107+
//same with start_date parameter
108+
$this->array($log->getMetrics($printer, start_date: $cdate1))->hasSize(4);
109+
//same with interval parameter
110+
$this->array($log->getMetrics($printer, interval: 'P14M'))->hasSize(4);
101111

102-
//use end_date parameter to exclude last report
103-
$this->array($log->getMetrics($printer, start_date: $cdate1, end_date: $now->sub(new \DateInterval('P1D'))))->hasSize(2);
112+
//use end_date parameter to exclude last report
113+
$this->array($log->getMetrics($printer, start_date: $cdate1, end_date: $now->sub(new \DateInterval('P1D'))))->hasSize(3);
104114

105-
for ($i = 0; $i < 20; $i++) {
106-
$now->sub(new \DateInterval('P1D'));
115+
$datex = new \DateTime();
116+
for ($i = 0; $i < 21; $i++) {
117+
$datex->sub(new \DateInterval('P1D'));
107118
$input = [
108119
'printers_id' => $printers_id,
109120
'total_pages' => 9299,
110121
'bw_pages' => 6258,
111122
'color_pages' => 3041,
112123
'rv_pages' => 7654,
113124
'scanned' => 28177,
114-
'date' => $now->format('Y-m-d')
125+
'date' => $datex->format('Y-m-d')
115126
];
116127
$this->integer($log->add($input))->isGreaterThan(0);
117128
}
118129

119-
// check working of daily format
120-
$this->array($log->getMetrics($printer, interval: 'P2M', format: 'daily'))->hasSize(21);
130+
// check working of daily format
131+
$this->array($log->getMetrics($printer, interval: 'P2M', format: 'daily'))->hasSize(23);
121132

122-
// check working of weekly format
123-
$this->array($log->getMetrics($printer, interval: 'P1M', format: 'weekly'))->hasSize(4);
133+
// check working of weekly format
134+
$this->array($log->getMetrics($printer, interval: 'P28D', format: 'weekly'))->hasSize(4);
124135

125-
// check working of monthly format
126-
$this->array($log->getMetrics($printer, format: 'monthly', interval: 'P2Y'))->hasSize(3);
136+
// check working of monthly format
137+
$this->array($log->getMetrics($printer, format: 'monthly', interval: 'P2Y'))->hasSize(4);
127138

128-
// check working of yearly format
139+
// check working of yearly format
129140
$this->array($log->getMetrics($printer, format: 'yearly', interval: 'P2Y'))->hasSize(2);
130141
}
131142
}

0 commit comments

Comments
 (0)