Skip to content
This repository was archived by the owner on Jan 5, 2019. It is now read-only.

Commit 1c9d07f

Browse files
author
Mario Basic
committed
Added tests for everything.
1 parent b49be27 commit 1c9d07f

File tree

12 files changed

+310
-35
lines changed

12 files changed

+310
-35
lines changed

app/Occurrences/OccurrenceCreator.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@
88

99
class OccurrenceCreator
1010
{
11+
/**
12+
* Creates a new occurrence that occurs at given date
13+
* and associates it with given service.
14+
*
15+
* @param Carbon $date
16+
* @param Service $service
17+
* @return Occurrence
18+
*/
1119
public function create(Carbon $date, Service $service)
1220
{
1321
$occurrence = new Occurrence;
@@ -17,6 +25,8 @@ public function create(Carbon $date, Service $service)
1725
$occurrence->receipt_sent = false;
1826
$occurrence->service()->associate($service);
1927
$occurrence->save();
28+
29+
return $occurrence;
2030
}
2131

2232
}

app/Service.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,12 @@ public function occurrences()
5151
}
5252

5353
/**
54-
* Converts 112345 to 1.123,45.
54+
* Converts 112345 to 1123,45.
5555
* For forms only.
5656
*
57-
* @param integer $value
5857
* @return string
5958
*/
60-
public function formCostAttribute($value)
59+
public function formCostAttribute()
6160
{
6261
return number_format($this->cost / 100, 2, ',', '');
6362
}

tests/TestCase.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ public function setUp()
2929

3030
// Avoid using external service to fetch quotes
3131
$rate = new \Swap\Model\Rate(1);
32-
Swap::shouldReceive('quote')->andReturn($rate);
32+
\Swap::shouldReceive('quote')->andReturn($rate);
3333
}
3434
}

tests/CategoryTest.php renamed to tests/functional/CategoryTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
<?php
1+
<?php namespace Tests\Functional;
22

33
use Illuminate\Foundation\Testing\WithoutMiddleware;
44
use Illuminate\Foundation\Testing\DatabaseMigrations;
55
use Illuminate\Foundation\Testing\DatabaseTransactions;
66

7-
class CategoryTest extends TestCase
7+
class CategoryTest extends \TestCase
88
{
99
use DatabaseTransactions;
1010

1111
/** @test */
1212
public function it_views_all_categories()
1313
{
14-
factory(App\Category::class, 10)->create();
14+
factory(\App\Category::class, 10)->create();
1515

16-
$user = factory(App\User::class)->create();
16+
$user = factory(\App\User::class)->create();
1717

1818
$this->actingAs($user)
1919
->visit('/categories')
@@ -23,7 +23,7 @@ public function it_views_all_categories()
2323
/** @test */
2424
public function it_creates_a_new_category()
2525
{
26-
$user = factory(App\User::class)->create();
26+
$user = factory(\App\User::class)->create();
2727

2828
$name = 'Hosting';
2929

@@ -42,9 +42,9 @@ public function it_creates_a_new_category()
4242
/** @test */
4343
public function it_updates_an_existing_category()
4444
{
45-
$user = factory(App\User::class)->create();
45+
$user = factory(\App\User::class)->create();
4646

47-
$category = factory(App\Category::class)->create([
47+
$category = factory(\App\Category::class)->create([
4848
'name' => 'Hostingg'
4949
]);
5050

@@ -64,9 +64,9 @@ public function it_updates_an_existing_category()
6464
/** @test */
6565
public function it_deletes_a_category()
6666
{
67-
$category = factory(App\Category::class)->create();
67+
$category = factory(\App\Category::class)->create();
6868

69-
$user = factory(App\User::class)->create();
69+
$user = factory(\App\User::class)->create();
7070

7171
$this->actingAs($user)
7272
->visit('/categories')

tests/ClientTest.php renamed to tests/functional/ClientTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
<?php
1+
<?php namespace Tests\Functional;
22

33
use Illuminate\Foundation\Testing\WithoutMiddleware;
44
use Illuminate\Foundation\Testing\DatabaseMigrations;
55
use Illuminate\Foundation\Testing\DatabaseTransactions;
66

7-
class ClientTest extends TestCase
7+
class ClientTest extends \TestCase
88
{
99
use DatabaseTransactions;
1010

1111
/** @test */
1212
public function it_views_all_clients()
1313
{
14-
factory(App\Client::class, 10)->create();
14+
factory(\App\Client::class, 10)->create();
1515

16-
$user = factory(App\User::class)->create();
16+
$user = factory(\App\User::class)->create();
1717

1818
$this->actingAs($user)
1919
->visit('/clients')
@@ -23,7 +23,7 @@ public function it_views_all_clients()
2323
/** @test */
2424
public function it_creates_a_new_client()
2525
{
26-
$user = factory(App\User::class)->create();
26+
$user = factory(\App\User::class)->create();
2727

2828
$name = 'Pastor';
2929
$tax_number = '12345678963';
@@ -50,9 +50,9 @@ public function it_creates_a_new_client()
5050
/** @test */
5151
public function it_updates_an_existing_client()
5252
{
53-
$user = factory(App\User::class)->create();
53+
$user = factory(\App\User::class)->create();
5454

55-
$client = factory(App\Client::class)->create([
55+
$client = factory(\App\Client::class)->create([
5656
'name' => 'Acme building'
5757
]);
5858

@@ -80,9 +80,9 @@ public function it_updates_an_existing_client()
8080
/** @test */
8181
public function it_deletes_a_client()
8282
{
83-
$client = factory(App\Client::class)->create();
83+
$client = factory(\App\Client::class)->create();
8484

85-
$user = factory(App\User::class)->create();
85+
$user = factory(\App\User::class)->create();
8686

8787
$this->actingAs($user)
8888
->visit('/clients')

tests/functional/OverviewTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php namespace Tests\Functional;
2+
3+
use Illuminate\Foundation\Testing\WithoutMiddleware;
4+
use Illuminate\Foundation\Testing\DatabaseMigrations;
5+
use Illuminate\Foundation\Testing\DatabaseTransactions;
6+
7+
class OverviewTest extends \TestCase
8+
{
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_views_overview_page()
13+
{
14+
$user = factory(\App\User::class)->create();
15+
16+
$this->actingAs($user)
17+
->visit('/')
18+
->see('Overview');
19+
}
20+
}

tests/functional/ReportTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php namespace Tests\Functional;
2+
3+
use Illuminate\Foundation\Testing\WithoutMiddleware;
4+
use Illuminate\Foundation\Testing\DatabaseMigrations;
5+
use Illuminate\Foundation\Testing\DatabaseTransactions;
6+
7+
class ReportTest extends \TestCase
8+
{
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_views_report_page()
13+
{
14+
$user = factory(\App\User::class)->create();
15+
16+
$this->actingAs($user)
17+
->visit('/report')
18+
->see('Report');
19+
}
20+
}

tests/ServiceTest.php renamed to tests/functional/ServiceTest.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
<?php
1+
<?php namespace Tests\Functional;
22

33
use Illuminate\Foundation\Testing\WithoutMiddleware;
44
use Illuminate\Foundation\Testing\DatabaseMigrations;
55
use Illuminate\Foundation\Testing\DatabaseTransactions;
66

7-
class ServiceTest extends TestCase
7+
class ServiceTest extends \TestCase
88
{
99
use DatabaseTransactions;
1010

1111
/** @test */
1212
public function it_views_all_services()
1313
{
14-
factory(App\Service::class, 10)->create();
14+
factory(\App\Service::class, 10)->create();
1515

16-
$user = factory(App\User::class)->create();
16+
$user = factory(\App\User::class)->create();
1717

1818
$this->actingAs($user)
1919
->visit('/services')
@@ -23,10 +23,10 @@ public function it_views_all_services()
2323
/** @test */
2424
public function it_creates_a_new_service()
2525
{
26-
$user = factory(App\User::class)->create();
26+
$user = factory(\App\User::class)->create();
2727

28-
$category = factory(App\Category::class)->create();
29-
$client = factory(App\Client::class)->create();
28+
$category = factory(\App\Category::class)->create();
29+
$client = factory(\App\Client::class)->create();
3030

3131
$title = 'Basic hosting plan';
3232
$category_id = $category->id;
@@ -62,14 +62,14 @@ public function it_creates_a_new_service()
6262
/** @test */
6363
public function it_updates_an_existing_service()
6464
{
65-
$user = factory(App\User::class)->create();
65+
$user = factory(\App\User::class)->create();
6666

67-
$service = factory(App\Service::class)->create([
67+
$service = factory(\App\Service::class)->create([
6868
'title' => 'Some strange plan'
6969
]);
7070

71-
$category = factory(App\Category::class)->create();
72-
$client = factory(App\Client::class)->create();
71+
$category = factory(\App\Category::class)->create();
72+
$client = factory(\App\Client::class)->create();
7373

7474
$title = 'Basic hosting plan';
7575
$category_id = $category->id;
@@ -104,9 +104,9 @@ public function it_updates_an_existing_service()
104104
/** @test */
105105
public function it_deletes_a_service()
106106
{
107-
$service = factory(App\Service::class)->create();
107+
$service = factory(\App\Service::class)->create();
108108

109-
$user = factory(App\User::class)->create();
109+
$user = factory(\App\User::class)->create();
110110

111111
$this->actingAs($user)
112112
->visit('/services')

tests/functional/SettingsTest.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php namespace Tests\Functional;
2+
3+
use Illuminate\Foundation\Testing\WithoutMiddleware;
4+
use Illuminate\Foundation\Testing\DatabaseMigrations;
5+
use Illuminate\Foundation\Testing\DatabaseTransactions;
6+
7+
class SettingsTest extends \TestCase
8+
{
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_updates_settings()
13+
{
14+
$user = factory(\App\User::class)->create([
15+
'name' => 'Test Dummy',
16+
'email' => '[email protected]',
17+
'preferred_currency' => 'hrk',
18+
'email_notifications' => false
19+
]);
20+
21+
$name = 'Not A Test Dummy';
22+
$email = '[email protected]';
23+
$preferred_currency = 'usd';
24+
25+
$this->actingAs($user)
26+
->visit('/settings')
27+
->see('Settings')
28+
->type($name, 'name')
29+
->type($email, 'email')
30+
->select($preferred_currency, 'preferred_currency')
31+
->check('email_notifications')
32+
->press('Update')
33+
->see('Settings updated!')
34+
->seeInDatabase('users', [
35+
'name' => $name,
36+
'email' => $email,
37+
'preferred_currency' => $preferred_currency,
38+
'email_notifications' => 1
39+
]);
40+
}
41+
}

tests/models/OccurrenceTest.php

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php namespace Tests\Models;
2+
3+
use Illuminate\Foundation\Testing\WithoutMiddleware;
4+
use Illuminate\Foundation\Testing\DatabaseMigrations;
5+
use Illuminate\Foundation\Testing\DatabaseTransactions;
6+
7+
class OccurrenceTest extends \TestCase
8+
{
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_gets_future_offer_state()
13+
{
14+
$occurrence = factory(\App\Occurrence::class)->make([
15+
'offer_sent' => true
16+
]);
17+
$this->assertEquals(0, $occurrence->getFutureOfferState());
18+
19+
$occurrence = factory(\App\Occurrence::class)->make([
20+
'offer_sent' => false
21+
]);
22+
$this->assertEquals(1, $occurrence->getFutureOfferState());
23+
}
24+
25+
/** @test */
26+
public function it_gets_future_payment_state()
27+
{
28+
$occurrence = factory(\App\Occurrence::class)->make([
29+
'payment_received' => true
30+
]);
31+
$this->assertEquals(0, $occurrence->getFuturePaymentState());
32+
33+
$occurrence = factory(\App\Occurrence::class)->make([
34+
'payment_received' => false
35+
]);
36+
$this->assertEquals(1, $occurrence->getFuturePaymentState());
37+
}
38+
39+
/** @test */
40+
public function it_gets_future_receipt_state()
41+
{
42+
$occurrence = factory(\App\Occurrence::class)->make([
43+
'receipt_sent' => true
44+
]);
45+
$this->assertEquals(0, $occurrence->getFutureReceiptState());
46+
47+
$occurrence = factory(\App\Occurrence::class)->make([
48+
'receipt_sent' => false
49+
]);
50+
$this->assertEquals(1, $occurrence->getFutureReceiptState());
51+
}
52+
}

0 commit comments

Comments
 (0)