From 0258982e60031d8be7e997a9601d04d5cc1025c7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 28 Jun 2015 20:56:04 +0200 Subject: [PATCH] Implemented two google chart tests. --- .../GoogleAccountChartGeneratorTest.php | 73 ++++++++++++++++++- .../GoogleBillChartGeneratorTest.php | 50 ++++++++++++- 2 files changed, 118 insertions(+), 5 deletions(-) diff --git a/tests/generators/GoogleAccountChartGeneratorTest.php b/tests/generators/GoogleAccountChartGeneratorTest.php index 823549befa..864034180b 100644 --- a/tests/generators/GoogleAccountChartGeneratorTest.php +++ b/tests/generators/GoogleAccountChartGeneratorTest.php @@ -1,4 +1,9 @@ object = new GoogleAccountChartGenerator; + } /** @@ -31,7 +41,27 @@ class GoogleAccountChartGeneratorTest extends TestCase */ public function testAll() { - $this->markTestIncomplete(); + // be somebody + $user = FactoryMuffin::create('FireflyIII\User'); + $this->be($user); + + // create some accounts: + $accounts = new Collection; + for ($i = 0; $i < 5; $i++) { + $accounts->push(FactoryMuffin::create('FireflyIII\Models\Account')); + } + + // data for call: + $start = Carbon::createFromDate(2015, 1, 1); + $end = Carbon::createFromDate(2015, 1, 15); + + // mock Steam::balance + Steam::shouldReceive('balance')->withAnyArgs()->andReturn(0); + + $data = $this->object->all($accounts, $start, $end); + $this->assertCount(11, $data['cols']); // accounts * 2 + date. + // fifteen days, + $this->assertCount(16, $data['rows']); // 15 + 1? } /** @@ -39,7 +69,27 @@ class GoogleAccountChartGeneratorTest extends TestCase */ public function testFrontpage() { - $this->markTestIncomplete(); + // be somebody + $user = FactoryMuffin::create('FireflyIII\User'); + $this->be($user); + + // create some accounts: + $accounts = new Collection; + for ($i = 0; $i < 5; $i++) { + $accounts->push(FactoryMuffin::create('FireflyIII\Models\Account')); + } + + // data for call: + $start = Carbon::createFromDate(2015, 1, 1); + $end = Carbon::createFromDate(2015, 1, 15); + + // mock Steam::balance + Steam::shouldReceive('balance')->withAnyArgs()->andReturn(0); + + $data = $this->object->frontpage($accounts, $start, $end); + $this->assertCount(11, $data['cols']); // accounts * 2 + date. + // fifteen days, + $this->assertCount(16, $data['rows']); // 15 + 1? } /** @@ -47,7 +97,24 @@ class GoogleAccountChartGeneratorTest extends TestCase */ public function testSingle() { - $this->markTestIncomplete(); + // be somebody + $user = FactoryMuffin::create('FireflyIII\User'); + $this->be($user); + + /** @var Account $account */ + $account = FactoryMuffin::create('FireflyIII\Models\Account'); + + // data for call: + $start = Carbon::createFromDate(2015, 1, 1); + $end = Carbon::createFromDate(2015, 1, 15); + + // mock Steam::balance + Steam::shouldReceive('balance')->withAnyArgs()->andReturn(0); + + $data = $this->object->single($account, $start, $end); + $this->assertCount(3, $data['cols']); // account, date, certainty + // fifteen days, + $this->assertCount(15, $data['rows']); // 15 days } } \ No newline at end of file diff --git a/tests/generators/GoogleBillChartGeneratorTest.php b/tests/generators/GoogleBillChartGeneratorTest.php index e6f684bfef..5576098595 100644 --- a/tests/generators/GoogleBillChartGeneratorTest.php +++ b/tests/generators/GoogleBillChartGeneratorTest.php @@ -1,11 +1,20 @@ object = new GoogleBillChartGenerator; + } /** @@ -31,7 +42,30 @@ class GoogleBillChartGeneratorTest extends TestCase */ public function testFrontpage() { - $this->markTestIncomplete(); + // to test frontpage, we generate the exact fake entries + // needed: + $paid = new Collection; + for ($i = 0; $i < 5; $i++) { + $obj = new stdClass(); + $obj->description = 'Something'; + $obj->amount = 100; + $paid->push($obj); + } + + $unpaid = new Collection; + $sum = 0; + for ($i = 0; $i < 5; $i++) { + $bill = FactoryMuffin::create('FireflyIII\Models\Bill'); + $date = new Carbon; + $sum += (($bill->amount_max + $bill->amount_min) / 2); + $unpaid->push([$bill, $date]); + } + + + $data = $this->object->frontpage($paid, $unpaid); + + $this->assertCount(2, $data['cols']); + $this->assertCount(2, $data['rows']); // two rows, two columns. } /** @@ -39,6 +73,18 @@ class GoogleBillChartGeneratorTest extends TestCase */ public function testSingle() { - $this->markTestIncomplete(); + $bill = FactoryMuffin::create('FireflyIII\Models\Bill'); + $entries = new Collection; + for ($i = 0; $i < 5; $i++) { + $obj = new stdClass; + $obj->amount = 100; + $obj->date = new Carbon; + $entries->push($obj); + } + $data = $this->object->single($bill, $entries); + + $this->assertCount(5, $data['rows']); + $this->assertCount(4, $data['cols']); + $this->assertEquals(100, $data['rows'][0]['c'][3]['v']); } } \ No newline at end of file