Skip to content

Commit f289ca7

Browse files
Generate simple assertions for resource statements (#290)
1 parent 7c361c9 commit f289ca7

File tree

5 files changed

+52
-0
lines changed

5 files changed

+52
-0
lines changed

src/Generators/TestGenerator.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Blueprint\Models\Statements\QueryStatement;
1313
use Blueprint\Models\Statements\RedirectStatement;
1414
use Blueprint\Models\Statements\RenderStatement;
15+
use Blueprint\Models\Statements\ResourceStatement;
1516
use Blueprint\Models\Statements\RespondStatement;
1617
use Blueprint\Models\Statements\SendStatement;
1718
use Blueprint\Models\Statements\SessionStatement;
@@ -376,6 +377,9 @@ protected function buildTestCases(Controller $controller)
376377
$assertion .= '));';
377378

378379
array_unshift($assertions['response'], $assertion);
380+
} elseif ($statement instanceof ResourceStatement) {
381+
$assertions['response'][] = '$response->assertOk();';
382+
$assertions['response'][] = '$response->assertJsonStructure([]);';
379383
} elseif ($statement instanceof RespondStatement) {
380384
$tested_bits |= self::TESTS_RESPONDS;
381385

tests/fixtures/tests/api-shorthand-validation.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public function index_behaves_as_expected()
2424
$certificates = factory(Certificate::class, 3)->create();
2525

2626
$response = $this->get(route('certificate.index'));
27+
28+
$response->assertOk();
29+
$response->assertJsonStructure([]);
2730
}
2831

2932

@@ -67,6 +70,9 @@ public function store_saves()
6770
->get();
6871
$this->assertCount(1, $certificates);
6972
$certificate = $certificates->first();
73+
74+
$response->assertOk();
75+
$response->assertJsonStructure([]);
7076
}
7177

7278

@@ -78,6 +84,9 @@ public function show_behaves_as_expected()
7884
$certificate = factory(Certificate::class)->create();
7985

8086
$response = $this->get(route('certificate.show', $certificate));
87+
88+
$response->assertOk();
89+
$response->assertJsonStructure([]);
8190
}
8291

8392

@@ -115,6 +124,9 @@ public function update_behaves_as_expected()
115124

116125
$certificate->refresh();
117126

127+
$response->assertOk();
128+
$response->assertJsonStructure([]);
129+
118130
$this->assertEquals($name, $certificate->name);
119131
$this->assertEquals($certificate_type->id, $certificate->certificate_type_id);
120132
$this->assertEquals($reference, $certificate->reference);

tests/fixtures/tests/certificate-pascal-case-example.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public function index_behaves_as_expected()
2424
$certificates = factory(Certificate::class, 3)->create();
2525

2626
$response = $this->get(route('certificate.index'));
27+
28+
$response->assertOk();
29+
$response->assertJsonStructure([]);
2730
}
2831

2932

@@ -67,6 +70,9 @@ public function store_saves()
6770
->get();
6871
$this->assertCount(1, $certificates);
6972
$certificate = $certificates->first();
73+
74+
$response->assertOk();
75+
$response->assertJsonStructure([]);
7076
}
7177

7278

@@ -78,6 +84,9 @@ public function show_behaves_as_expected()
7884
$certificate = factory(Certificate::class)->create();
7985

8086
$response = $this->get(route('certificate.show', $certificate));
87+
88+
$response->assertOk();
89+
$response->assertJsonStructure([]);
8190
}
8291

8392

@@ -115,6 +124,9 @@ public function update_behaves_as_expected()
115124

116125
$certificate->refresh();
117126

127+
$response->assertOk();
128+
$response->assertJsonStructure([]);
129+
118130
$this->assertEquals($name, $certificate->name);
119131
$this->assertEquals($certificate_type->id, $certificate->certificate_type_id);
120132
$this->assertEquals($reference, $certificate->reference);

tests/fixtures/tests/certificate-type-pascal-case-example.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ public function index_behaves_as_expected()
2323
$certificateTypes = factory(CertificateType::class, 3)->create();
2424

2525
$response = $this->get(route('certificate-type.index'));
26+
27+
$response->assertOk();
28+
$response->assertJsonStructure([]);
2629
}
2730

2831

@@ -54,6 +57,9 @@ public function store_saves()
5457
->get();
5558
$this->assertCount(1, $certificateTypes);
5659
$certificateType = $certificateTypes->first();
60+
61+
$response->assertOk();
62+
$response->assertJsonStructure([]);
5763
}
5864

5965

@@ -65,6 +71,9 @@ public function show_behaves_as_expected()
6571
$certificateType = factory(CertificateType::class)->create();
6672

6773
$response = $this->get(route('certificate-type.show', $certificateType));
74+
75+
$response->assertOk();
76+
$response->assertJsonStructure([]);
6877
}
6978

7079

@@ -94,6 +103,9 @@ public function update_behaves_as_expected()
94103

95104
$certificateType->refresh();
96105

106+
$response->assertOk();
107+
$response->assertJsonStructure([]);
108+
97109
$this->assertEquals($name, $certificateType->name);
98110
}
99111

tests/fixtures/tests/models-with-custom-namespace.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ public function index_behaves_as_expected()
2323
$categories = factory(Category::class, 3)->create();
2424

2525
$response = $this->get(route('category.index'));
26+
27+
$response->assertOk();
28+
$response->assertJsonStructure([]);
2629
}
2730

2831

@@ -60,6 +63,9 @@ public function store_saves()
6063
->get();
6164
$this->assertCount(1, $categories);
6265
$category = $categories->first();
66+
67+
$response->assertOk();
68+
$response->assertJsonStructure([]);
6369
}
6470

6571

@@ -71,6 +77,9 @@ public function show_behaves_as_expected()
7177
$category = factory(Category::class)->create();
7278

7379
$response = $this->get(route('category.show', $category));
80+
81+
$response->assertOk();
82+
$response->assertJsonStructure([]);
7483
}
7584

7685

@@ -104,6 +113,9 @@ public function update_behaves_as_expected()
104113

105114
$category->refresh();
106115

116+
$response->assertOk();
117+
$response->assertJsonStructure([]);
118+
107119
$this->assertEquals($name, $category->name);
108120
$this->assertEquals($image, $category->image);
109121
$this->assertEquals($active, $category->active);

0 commit comments

Comments
 (0)