Skip to content

Commit 420c037

Browse files
committed
add tests: for Date Property with forced time
1 parent 0283feb commit 420c037

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tests/EndpointPagesTest.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,11 @@ public function it_assembles_properties_for_a_new_page()
106106
$checkboxKey = 'CheckboxProperty';
107107
$checkboxValue = true;
108108
$dateRangeKey = 'DateRangeProperty';
109+
$dateTimeRangeKey = 'DateTimeRangeProperty';
109110
$dateRangeStartValue = Carbon::now()->toDateTime();
110111
$dateRangeEndValue = Carbon::tomorrow()->toDateTime();
111112
$dateKey = 'DateProperty';
113+
$dateTimeKey = 'DateTimeProperty';
112114
$dateValue = Carbon::yesterday()->toDateTime();
113115
$emailKey = 'EmailProperty';
114116
$emailValue = 'notion-is-awesome@example.org';
@@ -135,7 +137,9 @@ public function it_assembles_properties_for_a_new_page()
135137
$page->setTitle('Name', $pageTitle);
136138
$page->setCheckbox($checkboxKey, $checkboxValue);
137139
$page->setDate($dateRangeKey, $dateRangeStartValue, $dateRangeEndValue);
140+
$page->setDateTime($dateTimeRangeKey, $dateRangeStartValue, $dateRangeEndValue);
138141
$page->setDate($dateKey, $dateValue);
142+
$page->setDateTime($dateTimeKey, $dateValue);
139143
$page->setEmail($emailKey, $emailValue);
140144
$page->setMultiSelect($multiSelectKey, $multiSelectValues);
141145
$page->setNumber($numberKey, $numberValue);
@@ -186,6 +190,28 @@ public function it_assembles_properties_for_a_new_page()
186190
$this->assertArrayHasKey('end', $dateRangeContent['date']);
187191
$this->assertEquals($dateRangeEndValue->format('Y-m-d'), $dateRangeContent['date']['end']);
188192

193+
194+
// date range (with time)
195+
$this->assertTrue(
196+
$this->assertContainsInstanceOf(Date::class, $properties)
197+
);
198+
$dateTimeRangeProp = $page->getProperty($dateTimeRangeKey);
199+
$this->assertInstanceOf(RichDate::class, $dateTimeRangeProp->getContent());
200+
$dateTimeRangeContent = $dateTimeRangeProp->getContent();
201+
$this->assertTrue($dateTimeRangeProp->isRange());
202+
$this->assertEquals($dateRangeStartValue, $dateTimeRangeProp->getStart());
203+
$this->assertEquals($dateRangeEndValue, $dateTimeRangeProp->getEnd());
204+
$this->assertJson($dateTimeRangeProp->asText());
205+
$this->assertStringContainsString($dateRangeStartValue->format('Y-m-d H:i:s'), $dateTimeRangeProp->asText());
206+
$this->assertStringContainsString($dateRangeEndValue->format('Y-m-d H:i:s'), $dateTimeRangeProp->asText());
207+
$dateTimeRangeContent = $dateTimeRangeProp->getRawContent();
208+
$this->assertArrayHasKey('date', $dateTimeRangeContent);
209+
$this->assertCount(2, $dateTimeRangeContent['date']);
210+
$this->assertArrayHasKey('start', $dateTimeRangeContent['date']);
211+
$this->assertEquals($dateRangeStartValue->format('c'), $dateTimeRangeContent['date']['start']);
212+
$this->assertArrayHasKey('end', $dateTimeRangeContent['date']);
213+
$this->assertEquals($dateRangeEndValue->format('c'), $dateTimeRangeContent['date']['end']);
214+
189215
// date
190216
$dateProp = $page->getProperty($dateKey);
191217
$this->assertInstanceOf(RichDate::class, $dateProp->getContent());
@@ -197,6 +223,17 @@ public function it_assembles_properties_for_a_new_page()
197223
$this->assertArrayHasKey('start', $dateContent['date']);
198224
$this->assertEquals($dateValue->format('Y-m-d'), $dateContent['date']['start']);
199225

226+
// date (with time)
227+
$dateTimeProp = $page->getProperty($dateTimeKey);
228+
$this->assertInstanceOf(RichDate::class, $dateTimeProp->getContent());
229+
$this->assertFalse($dateTimeProp->isRange());
230+
$this->assertEquals($dateValue, $dateTimeProp->getStart());
231+
$dateTimeContent = $dateTimeProp->getRawContent();
232+
$this->assertArrayHasKey('date', $dateTimeContent);
233+
$this->assertCount(1, $dateTimeContent['date']);
234+
$this->assertArrayHasKey('start', $dateTimeContent['date']);
235+
$this->assertEquals($dateValue->format('c'), $dateTimeContent['date']['start']);
236+
200237
// email
201238
$this->assertTrue($this->assertContainsInstanceOf(Email::class, $properties));
202239
$mailProp = $page->getProperty($emailKey);

0 commit comments

Comments
 (0)