From 8b9e9ad10353afa1fe9b9b33229fc5d22ffdf718 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 May 2015 07:07:17 +0200 Subject: [PATCH] Tests for reminder repository. --- tests/repositories/ReminderRepositoryTest.php | 111 ++++++++++++++---- 1 file changed, 91 insertions(+), 20 deletions(-) diff --git a/tests/repositories/ReminderRepositoryTest.php b/tests/repositories/ReminderRepositoryTest.php index 55e5277577..c4285ea132 100644 --- a/tests/repositories/ReminderRepositoryTest.php +++ b/tests/repositories/ReminderRepositoryTest.php @@ -1,5 +1,7 @@ mock('FireflyIII\Helpers\Reminders\ReminderHelperInterface'); + $helper->shouldReceive('getReminderText')->andReturn('Hello!'); $this->object = new ReminderRepository; } @@ -33,49 +37,116 @@ class ReminderRepositoryTest extends TestCase /** * @covers FireflyIII\Repositories\Reminder\ReminderRepository::getActiveReminders - * @todo Implement testGetActiveReminders(). */ public function testGetActiveReminders() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $yesterday = Carbon::now()->subDay(); + $tomorrow = Carbon::now()->addDay(); + + $user = FactoryMuffin::create('FireflyIII\User'); + for ($i = 0; $i < 3; $i++) { + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->active = 1; + $reminder->notnow = 0; + $reminder->startdate = $yesterday; + $reminder->enddate = $tomorrow; + $reminder->user_id = $user->id; + $reminder->save(); + + } + + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->active = 0; + $reminder->notnow = 0; + $reminder->startdate = $yesterday; + $reminder->enddate = $tomorrow; + $reminder->user_id = $user->id; + $reminder->save(); + $this->be($user); + + $set = $this->object->getActiveReminders(); + $this->assertCount(3, $set); } /** * @covers FireflyIII\Repositories\Reminder\ReminderRepository::getDismissedReminders - * @todo Implement testGetDismissedReminders(). */ public function testGetDismissedReminders() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + + $user = FactoryMuffin::create('FireflyIII\User'); + for ($i = 0; $i < 3; $i++) { + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->notnow = 1; + $reminder->user_id = $user->id; + $reminder->save(); + + } + + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->notnow = 0; + $reminder->user_id = $user->id; + $reminder->save(); + $this->be($user); + + $set = $this->object->getDismissedReminders(); + $this->assertCount(3, $set); } /** * @covers FireflyIII\Repositories\Reminder\ReminderRepository::getExpiredReminders - * @todo Implement testGetExpiredReminders(). */ public function testGetExpiredReminders() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $yesterday = Carbon::now()->subDay(); + $tomorrow = Carbon::now()->addDay(); + + $user = FactoryMuffin::create('FireflyIII\User'); + for ($i = 0; $i < 3; $i++) { + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->active = 1; + $reminder->notnow = 0; + $reminder->startdate = $tomorrow; + $reminder->enddate = $yesterday; + $reminder->user_id = $user->id; + $reminder->save(); + + } + + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->active = 0; + $reminder->notnow = 0; + $reminder->startdate = $tomorrow; + $reminder->enddate = $yesterday; + $reminder->user_id = $user->id; + $reminder->save(); + $this->be($user); + + $set = $this->object->getExpiredReminders(); + $this->assertCount(3, $set); } /** * @covers FireflyIII\Repositories\Reminder\ReminderRepository::getInactiveReminders - * @todo Implement testGetInactiveReminders(). */ public function testGetInactiveReminders() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $user = FactoryMuffin::create('FireflyIII\User'); + for ($i = 0; $i < 3; $i++) { + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->active = 0; + $reminder->user_id = $user->id; + $reminder->save(); + + } + + $reminder = FactoryMuffin::create('FireflyIII\Models\Reminder'); + $reminder->active = 1; + $reminder->user_id = $user->id; + $reminder->save(); + $this->be($user); + + $set = $this->object->getInactiveReminders(); + $this->assertCount(3, $set); } }