summaryrefslogtreecommitdiff
path: root/tests/units
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-09-18 22:08:16 +0200
committerFrédéric Guillot <fred@kanboard.net>2014-09-18 22:08:16 +0200
commit31d3f8bb5783f5311bb3b7a86c3a6f5beb594580 (patch)
tree67beb8093c4fca28f8bea6ab72668a4ea34228cc /tests/units
parent4b61aad21847bc7b5d5110a80ed9ba35cbed0709 (diff)
Fix bug: update of the last_modified field for projects
Diffstat (limited to 'tests/units')
-rw-r--r--tests/units/ProjectTest.php45
1 files changed, 45 insertions, 0 deletions
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);