From 31d3f8bb5783f5311bb3b7a86c3a6f5beb594580 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Thu, 18 Sep 2014 22:08:16 +0200 Subject: Fix bug: update of the last_modified field for projects --- tests/units/ProjectTest.php | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'tests') diff --git a/tests/units/ProjectTest.php b/tests/units/ProjectTest.php index 95894172..dc71d5ae 100644 --- a/tests/units/ProjectTest.php +++ b/tests/units/ProjectTest.php @@ -20,9 +20,54 @@ class ProjectTest extends Base $this->assertNotEmpty($project); $this->assertEquals(1, $project['is_active']); $this->assertEquals(0, $project['is_public']); + $this->assertEquals(time(), $project['last_modified']); $this->assertEmpty($project['token']); } + public function testUpdateLastModifiedDate() + { + $p = new Project($this->registry); + $this->assertEquals(1, $p->create(array('name' => 'UnitTest'))); + + $now = time(); + + $project = $p->getById(1); + $this->assertNotEmpty($project); + $this->assertEquals($now, $project['last_modified']); + + sleep(1); + $this->assertTrue($p->updateModificationDate(1)); + + $project = $p->getById(1); + $this->assertNotEmpty($project); + $this->assertEquals($now + 1, $project['last_modified']); + } + + public function testIsLastModified() + { + $p = new Project($this->registry); + $t = new Task($this->registry); + + $now = time(); + $p->attachEvents(); + + $this->assertEquals(1, $p->create(array('name' => 'UnitTest'))); + + $project = $p->getById(1); + $this->assertNotEmpty($project); + $this->assertEquals($now, $project['last_modified']); + + sleep(1); + + $this->assertEquals(1, $t->create(array('title' => 'Task #1', 'project_id' => 1))); + $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CREATE)); + $this->assertEquals('Event\ProjectModificationDate', $this->registry->shared('event')->getLastListenerExecuted()); + + $project = $p->getById(1); + $this->assertNotEmpty($project); + $this->assertTrue($p->isModifiedSince(1, $now)); + } + public function testRemove() { $p = new Project($this->registry); -- cgit v1.2.3