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

Commit 71c0c9a

Browse files
author
Mario Basic
committed
Added tests.
1 parent 86a907a commit 71c0c9a

File tree

5 files changed

+278
-21
lines changed

5 files changed

+278
-21
lines changed

config/database.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,23 @@
6666
'engine' => null,
6767
],
6868

69+
/**
70+
* Used for seeding the database for testing.
71+
*/
72+
'mysql_testing' => [
73+
'driver' => 'mysql',
74+
'host' => env('DB_HOST', 'localhost'),
75+
'port' => env('DB_PORT', '3306'),
76+
'database' => env('DB_TEST_DATABASE', 'kyle_testing'),
77+
'username' => env('DB_USERNAME', 'forge'),
78+
'password' => env('DB_PASSWORD', ''),
79+
'charset' => 'utf8',
80+
'collation' => 'utf8_unicode_ci',
81+
'prefix' => '',
82+
'strict' => false,
83+
'engine' => null,
84+
],
85+
6986
'pgsql' => [
7087
'driver' => 'pgsql',
7188
'host' => env('DB_HOST', 'localhost'),

phpunit.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@
2626
<env name="CACHE_DRIVER" value="array"/>
2727
<env name="SESSION_DRIVER" value="array"/>
2828
<env name="QUEUE_DRIVER" value="sync"/>
29+
<env name="DB_DATABASE" value="kyle_testing"/>
2930
</php>
3031
</phpunit>

tests/CategoryTest.php

Lines changed: 68 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,74 @@
66

77
class CategoryTest extends TestCase
88
{
9-
/**
10-
* A basic test example.
11-
*
12-
* @return void
13-
*/
14-
public function testExample()
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_views_all_categories()
13+
{
14+
factory(App\Category::class, 10)->create();
15+
16+
$user = factory(App\User::class)->create();
17+
18+
$this->actingAs($user)
19+
->visit('/categories')
20+
->see('Categories <small>Index</small>');
21+
}
22+
23+
/** @test */
24+
public function it_creates_a_new_category()
1525
{
16-
$this->assertTrue(true);
26+
$user = factory(App\User::class)->create();
27+
28+
$name = 'Hosting';
29+
30+
$this->actingAs($user)
31+
->visit('/categories/create')
32+
->see('Categories <small>Create</small>')
33+
->type($name, 'name')
34+
->press('Save')
35+
->seePageIs('/categories')
36+
->see('Category Created!')
37+
->seeInDatabase('categories', [
38+
'name' => $name
39+
]);
40+
}
41+
42+
/** @test */
43+
public function it_updates_an_existing_category()
44+
{
45+
$user = factory(App\User::class)->create();
46+
47+
$category = factory(App\Category::class)->create([
48+
'name' => 'Hostingg'
49+
]);
50+
51+
$name = 'Hosting';
52+
53+
$this->actingAs($user)
54+
->visit('/categories/' . $category->id . '/edit')
55+
->see('Categories <small>Edit</small>')
56+
->type($name, 'name')
57+
->press('Update')
58+
->see('Category Updated!')
59+
->seeInDatabase('categories', [
60+
'name' => $name
61+
]);
62+
}
63+
64+
/** @test */
65+
public function it_deletes_a_category()
66+
{
67+
$category = factory(App\Category::class)->create();
68+
69+
$user = factory(App\User::class)->create();
70+
71+
$this->actingAs($user)
72+
->visit('/categories')
73+
->see('Categories <small>Index</small>')
74+
->see($category->name)
75+
->press('category_' . $category->id)
76+
->see('Category Deleted!')
77+
->dontSee($category->name);
1778
}
1879
}

tests/ClientTest.php

Lines changed: 84 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,90 @@
66

77
class ClientTest extends TestCase
88
{
9-
/**
10-
* A basic test example.
11-
*
12-
* @return void
13-
*/
14-
public function testExample()
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_views_all_clients()
13+
{
14+
factory(App\Client::class, 10)->create();
15+
16+
$user = factory(App\User::class)->create();
17+
18+
$this->actingAs($user)
19+
->visit('/clients')
20+
->see('Clients <small>Index</small>');
21+
}
22+
23+
/** @test */
24+
public function it_creates_a_new_client()
1525
{
16-
$this->assertTrue(true);
26+
$user = factory(App\User::class)->create();
27+
28+
$name = 'Pastor';
29+
$tax_number = '12345678963';
30+
$street = 'Some random street 12';
31+
$city = 'A random City';
32+
$postal_code = '12345';
33+
34+
$this->actingAs($user)
35+
->visit('/clients/create')
36+
->see('Clients <small>Create</small>')
37+
->type($name, 'name')
38+
->type($tax_number, 'tax_number')
39+
->type($street, 'street')
40+
->type($city, 'city')
41+
->type($postal_code, 'postal_code')
42+
->press('Save')
43+
->seePageIs('/clients')
44+
->see('Client Created!')
45+
->seeInDatabase('clients', [
46+
'name' => $name
47+
]);
48+
}
49+
50+
/** @test */
51+
public function it_updates_an_existing_client()
52+
{
53+
$user = factory(App\User::class)->create();
54+
55+
$client = factory(App\Client::class)->create([
56+
'name' => 'Acme building'
57+
]);
58+
59+
$name = 'Acme Company';
60+
$tax_number = '12345678963';
61+
$street = 'Some random street 12';
62+
$city = 'A random City';
63+
$postal_code = '12345';
64+
65+
$this->actingAs($user)
66+
->visit('/clients/' . $client->id . '/edit')
67+
->see('Clients <small>Edit</small>')
68+
->type($name, 'name')
69+
->type($tax_number, 'tax_number')
70+
->type($street, 'street')
71+
->type($city, 'city')
72+
->type($postal_code, 'postal_code')
73+
->press('Update')
74+
->see('Client Updated!')
75+
->seeInDatabase('clients', [
76+
'name' => $name
77+
]);
78+
}
79+
80+
/** @test */
81+
public function it_deletes_a_client()
82+
{
83+
$client = factory(App\Client::class)->create();
84+
85+
$user = factory(App\User::class)->create();
86+
87+
$this->actingAs($user)
88+
->visit('/clients')
89+
->see('Clients <small>Index</small>')
90+
->see($client->name)
91+
->press('client_' . $client->id)
92+
->see('Client Deleted!')
93+
->dontSee($client->name);
1794
}
1895
}

tests/ServiceTest.php

Lines changed: 108 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,114 @@
66

77
class ServiceTest extends TestCase
88
{
9-
/**
10-
* A basic test example.
11-
*
12-
* @return void
13-
*/
14-
public function testExample()
9+
use DatabaseTransactions;
10+
11+
/** @test */
12+
public function it_views_all_services()
13+
{
14+
factory(App\Service::class, 10)->create();
15+
16+
$user = factory(App\User::class)->create();
17+
18+
$this->actingAs($user)
19+
->visit('/services')
20+
->see('Services <small>Index</small>');
21+
}
22+
23+
/** @test */
24+
public function it_creates_a_new_service()
1525
{
16-
$this->assertTrue(true);
26+
$user = factory(App\User::class)->create();
27+
28+
$category = factory(App\Category::class)->create();
29+
$client = factory(App\Client::class)->create();
30+
31+
$title = 'Basic hosting plan';
32+
$category_id = $category->id;
33+
$note = 'Service provider is Some company bla bla.';
34+
$month = 1;
35+
$day = 1;
36+
$cost = '100,00';
37+
$currency = 'usd';
38+
$exchange_rate = 1;
39+
$client_id = $client->id;
40+
41+
$this->actingAs($user)
42+
->visit('/services/create')
43+
->see('Services <small>Create</small>')
44+
->type($title, 'title')
45+
->select($category_id, 'category_id')
46+
->check('active')
47+
->type($note, 'note')
48+
->type($month, 'month')
49+
->type($day, 'day')
50+
->type($cost, 'cost')
51+
->type($currency, 'currency')
52+
->type($exchange_rate, 'exchange_rate')
53+
->select($client_id, 'client_id')
54+
->press('Save')
55+
->seePageIs('/services')
56+
->see('Service Created!')
57+
->seeInDatabase('services', [
58+
'title' => $title
59+
]);
60+
}
61+
62+
/** @test */
63+
public function it_updates_an_existing_service()
64+
{
65+
$user = factory(App\User::class)->create();
66+
67+
$service = factory(App\Service::class)->create([
68+
'title' => 'Some strange plan'
69+
]);
70+
71+
$category = factory(App\Category::class)->create();
72+
$client = factory(App\Client::class)->create();
73+
74+
$title = 'Basic hosting plan';
75+
$category_id = $category->id;
76+
$note = 'Service provider is Some company bla bla.';
77+
$month = 1;
78+
$day = 1;
79+
$cost = '100,00';
80+
$currency = 'usd';
81+
$exchange_rate = 1;
82+
$client_id = $client->id;
83+
84+
$this->actingAs($user)
85+
->visit('/services/' . $service->id . '/edit')
86+
->see('Services <small>Edit</small>')
87+
->type($title, 'title')
88+
->select($category_id, 'category_id')
89+
->check('active')
90+
->type($note, 'note')
91+
->type($month, 'month')
92+
->type($day, 'day')
93+
->type($cost, 'cost')
94+
->type($currency, 'currency')
95+
->type($exchange_rate, 'exchange_rate')
96+
->select($client_id, 'client_id')
97+
->press('Update')
98+
->see('Service Updated!')
99+
->seeInDatabase('services', [
100+
'title' => $title
101+
]);
102+
}
103+
104+
/** @test */
105+
public function it_deletes_a_service()
106+
{
107+
$service = factory(App\Service::class)->create();
108+
109+
$user = factory(App\User::class)->create();
110+
111+
$this->actingAs($user)
112+
->visit('/services')
113+
->see('Services <small>Index</small>')
114+
->see($service->title)
115+
->press('service_' . $service->id)
116+
->see('Service Deleted!')
117+
->dontSee($service->title);
17118
}
18119
}

0 commit comments

Comments
 (0)