mirror of
https://github.com/snipe/snipe-it.git
synced 2025-03-05 20:52:15 -08:00
Organize tests
This commit is contained in:
parent
c881727747
commit
d4cf392387
|
@ -12,14 +12,14 @@ class CreateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
public function testRequiresPermission()
|
public function testRequiresPermission()
|
||||||
{
|
{
|
||||||
$this->actingAs(User::factory()->create())
|
$this->actingAs(User::factory()->create())
|
||||||
->post(route('report-templates.store'))
|
->post($this->getRoute())
|
||||||
->assertForbidden();
|
->assertForbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testSavingReportTemplateRequiresValidFields()
|
public function testSavingReportTemplateRequiresValidFields()
|
||||||
{
|
{
|
||||||
$this->actingAs(User::factory()->canViewReports()->create())
|
$this->actingAs(User::factory()->canViewReports()->create())
|
||||||
->post(route('report-templates.store'), [
|
->post($this->getRoute(), [
|
||||||
'name' => '',
|
'name' => '',
|
||||||
])
|
])
|
||||||
->assertSessionHasErrors('name');
|
->assertSessionHasErrors('name');
|
||||||
|
@ -31,7 +31,7 @@ class CreateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
// start on the custom report page
|
// start on the custom report page
|
||||||
->from(route('reports/custom'))
|
->from(route('reports/custom'))
|
||||||
->followingRedirects()
|
->followingRedirects()
|
||||||
->post(route('report-templates.store'), [
|
->post($this->getRoute(), [
|
||||||
'name' => '',
|
'name' => '',
|
||||||
// set some values to ensure they are still present
|
// set some values to ensure they are still present
|
||||||
// when returning to the custom report page.
|
// when returning to the custom report page.
|
||||||
|
@ -46,7 +46,7 @@ class CreateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
$user = User::factory()->canViewReports()->create();
|
$user = User::factory()->canViewReports()->create();
|
||||||
|
|
||||||
$this->actingAs($user)
|
$this->actingAs($user)
|
||||||
->post(route('report-templates.store'), [
|
->post($this->getRoute(), [
|
||||||
'name' => 'My Awesome Template',
|
'name' => 'My Awesome Template',
|
||||||
'company' => '1',
|
'company' => '1',
|
||||||
'by_company_id' => ['1', '2'],
|
'by_company_id' => ['1', '2'],
|
||||||
|
@ -61,4 +61,9 @@ class CreateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
$this->assertEquals('1', $template->options['company']);
|
$this->assertEquals('1', $template->options['company']);
|
||||||
$this->assertEquals(['1', '2'], $template->options['by_company_id']);
|
$this->assertEquals(['1', '2'], $template->options['by_company_id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getRoute(): string
|
||||||
|
{
|
||||||
|
return route('report-templates.store');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ class DeleteReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
$reportTemplate = ReportTemplate::factory()->create();
|
$reportTemplate = ReportTemplate::factory()->create();
|
||||||
|
|
||||||
$this->actingAs(User::factory()->create())
|
$this->actingAs(User::factory()->create())
|
||||||
->post(route('report-templates.destroy', $reportTemplate->id))
|
->post($this->getRoute($reportTemplate))
|
||||||
->assertForbidden();
|
->assertForbidden();
|
||||||
|
|
||||||
$this->assertModelExists($reportTemplate);
|
$this->assertModelExists($reportTemplate);
|
||||||
|
@ -25,7 +25,7 @@ class DeleteReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
$reportTemplate = ReportTemplate::factory()->create();
|
$reportTemplate = ReportTemplate::factory()->create();
|
||||||
|
|
||||||
$this->actingAs(User::factory()->canViewReports()->create())
|
$this->actingAs(User::factory()->canViewReports()->create())
|
||||||
->delete(route('report-templates.destroy', $reportTemplate))
|
->delete($this->getRoute($reportTemplate))
|
||||||
->assertSessionHas('error')
|
->assertSessionHas('error')
|
||||||
->assertRedirect(route('reports/custom'));
|
->assertRedirect(route('reports/custom'));
|
||||||
|
|
||||||
|
@ -38,9 +38,14 @@ class DeleteReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
$reportTemplate = ReportTemplate::factory()->for($user, 'creator')->create();
|
$reportTemplate = ReportTemplate::factory()->for($user, 'creator')->create();
|
||||||
|
|
||||||
$this->actingAs($user)
|
$this->actingAs($user)
|
||||||
->delete(route('report-templates.destroy', $reportTemplate))
|
->delete($this->getRoute($reportTemplate))
|
||||||
->assertRedirect(route('reports/custom'));
|
->assertRedirect(route('reports/custom'));
|
||||||
|
|
||||||
$this->assertModelMissing($reportTemplate);
|
$this->assertModelMissing($reportTemplate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getRoute(ReportTemplate $reportTemplate): string
|
||||||
|
{
|
||||||
|
return route('report-templates.destroy', $reportTemplate->id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ class EditReportTemplateTest extends TestCase implements TestsPermissionsRequire
|
||||||
public function testRequiresPermission()
|
public function testRequiresPermission()
|
||||||
{
|
{
|
||||||
$this->actingAs(User::factory()->create())
|
$this->actingAs(User::factory()->create())
|
||||||
->get(route('report-templates.edit', ReportTemplate::factory()->create()))
|
->get($this->getRoute(ReportTemplate::factory()->create()))
|
||||||
->assertForbidden();
|
->assertForbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ class EditReportTemplateTest extends TestCase implements TestsPermissionsRequire
|
||||||
$reportTemplate = ReportTemplate::factory()->create();
|
$reportTemplate = ReportTemplate::factory()->create();
|
||||||
|
|
||||||
$this->actingAs($user)
|
$this->actingAs($user)
|
||||||
->get(route('report-templates.edit', $reportTemplate))
|
->get($this->getRoute($reportTemplate))
|
||||||
->assertSessionHas('error')
|
->assertSessionHas('error')
|
||||||
->assertRedirect(route('reports/custom'));
|
->assertRedirect(route('reports/custom'));
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,12 @@ class EditReportTemplateTest extends TestCase implements TestsPermissionsRequire
|
||||||
$reportTemplate = ReportTemplate::factory()->for($user, 'creator')->create();
|
$reportTemplate = ReportTemplate::factory()->for($user, 'creator')->create();
|
||||||
|
|
||||||
$this->actingAs($user)
|
$this->actingAs($user)
|
||||||
->get(route('report-templates.edit', $reportTemplate))
|
->get($this->getRoute($reportTemplate))
|
||||||
->assertOk();
|
->assertOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getRoute(ReportTemplate $reportTemplate): string
|
||||||
|
{
|
||||||
|
return route('report-templates.edit', $reportTemplate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,21 +12,10 @@ class ShowReportTemplateTest extends TestCase implements TestsPermissionsRequire
|
||||||
public function testRequiresPermission()
|
public function testRequiresPermission()
|
||||||
{
|
{
|
||||||
$this->actingAs(User::factory()->create())
|
$this->actingAs(User::factory()->create())
|
||||||
->get(route('reports/custom'))
|
->get($this->getRoute(ReportTemplate::factory()->create()))
|
||||||
->assertForbidden();
|
->assertForbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCanLoadCustomReportPage()
|
|
||||||
{
|
|
||||||
$this->actingAs(User::factory()->canViewReports()->create())
|
|
||||||
->get(route('reports/custom'))
|
|
||||||
->assertOk()
|
|
||||||
->assertViewHas(['template' => function (ReportTemplate $template) {
|
|
||||||
// the view should have an empty report by default
|
|
||||||
return $template->exists() === false;
|
|
||||||
}]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testCanLoadASavedReportTemplate()
|
public function testCanLoadASavedReportTemplate()
|
||||||
{
|
{
|
||||||
$user = User::factory()->canViewReports()->create();
|
$user = User::factory()->canViewReports()->create();
|
||||||
|
@ -34,7 +23,7 @@ class ShowReportTemplateTest extends TestCase implements TestsPermissionsRequire
|
||||||
$user->reportTemplates()->save($reportTemplate);
|
$user->reportTemplates()->save($reportTemplate);
|
||||||
|
|
||||||
$this->actingAs($user)
|
$this->actingAs($user)
|
||||||
->get(route('report-templates.show', $reportTemplate))
|
->get($this->getRoute($reportTemplate))
|
||||||
->assertOk()
|
->assertOk()
|
||||||
->assertViewHas(['template' => function (ReportTemplate $templatePassedToView) use ($reportTemplate) {
|
->assertViewHas(['template' => function (ReportTemplate $templatePassedToView) use ($reportTemplate) {
|
||||||
return $templatePassedToView->is($reportTemplate);
|
return $templatePassedToView->is($reportTemplate);
|
||||||
|
@ -46,8 +35,13 @@ class ShowReportTemplateTest extends TestCase implements TestsPermissionsRequire
|
||||||
$reportTemplate = ReportTemplate::factory()->create();
|
$reportTemplate = ReportTemplate::factory()->create();
|
||||||
|
|
||||||
$this->actingAs(User::factory()->canViewReports()->create())
|
$this->actingAs(User::factory()->canViewReports()->create())
|
||||||
->get(route('report-templates.show', $reportTemplate))
|
->get($this->getRoute($reportTemplate))
|
||||||
->assertSessionHas('error')
|
->assertSessionHas('error')
|
||||||
->assertRedirect(route('reports/custom'));
|
->assertRedirect(route('reports/custom'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getRoute(ReportTemplate $reportTemplate): string
|
||||||
|
{
|
||||||
|
return route('report-templates.show', $reportTemplate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,14 +12,14 @@ class UpdateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
public function testRequiresPermission()
|
public function testRequiresPermission()
|
||||||
{
|
{
|
||||||
$this->actingAs(User::factory()->create())
|
$this->actingAs(User::factory()->create())
|
||||||
->post(route('report-templates.update', ReportTemplate::factory()->create()))
|
->post($this->getRoute(ReportTemplate::factory()->create()))
|
||||||
->assertForbidden();
|
->assertForbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCannotUpdateAnotherUsersReportTemplate()
|
public function testCannotUpdateAnotherUsersReportTemplate()
|
||||||
{
|
{
|
||||||
$this->actingAs(User::factory()->canViewReports()->create())
|
$this->actingAs(User::factory()->canViewReports()->create())
|
||||||
->post(route('report-templates.update', ReportTemplate::factory()->create()))
|
->post($this->getRoute(ReportTemplate::factory()->create()))
|
||||||
->assertSessionHas('error')
|
->assertSessionHas('error')
|
||||||
->assertRedirect(route('reports/custom'));
|
->assertRedirect(route('reports/custom'));
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ class UpdateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->actingAs($user)
|
$this->actingAs($user)
|
||||||
->post(route('report-templates.update', $reportTemplate), [
|
->post($this->getRoute($reportTemplate), [
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'company' => 1,
|
'company' => 1,
|
||||||
'by_company_id' => [3],
|
'by_company_id' => [3],
|
||||||
|
@ -52,4 +52,9 @@ class UpdateReportTemplateTest extends TestCase implements TestsPermissionsRequi
|
||||||
$this->assertEquals(1, $reportTemplate->checkmarkValue('company'));
|
$this->assertEquals(1, $reportTemplate->checkmarkValue('company'));
|
||||||
$this->assertEquals([3], $reportTemplate->selectValues('by_company_id'));
|
$this->assertEquals([3], $reportTemplate->selectValues('by_company_id'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getRoute(ReportTemplate $reportTemplate): string
|
||||||
|
{
|
||||||
|
return route('report-templates.update', $reportTemplate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,15 @@ namespace Tests\Feature\Reporting;
|
||||||
|
|
||||||
use App\Models\Asset;
|
use App\Models\Asset;
|
||||||
use App\Models\Company;
|
use App\Models\Company;
|
||||||
|
use App\Models\ReportTemplate;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Testing\TestResponse;
|
use Illuminate\Testing\TestResponse;
|
||||||
use League\Csv\Reader;
|
use League\Csv\Reader;
|
||||||
use PHPUnit\Framework\Assert;
|
use PHPUnit\Framework\Assert;
|
||||||
|
use Tests\Concerns\TestsPermissionsRequirement;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
class CustomReportTest extends TestCase
|
class CustomReportTest extends TestCase implements TestsPermissionsRequirement
|
||||||
{
|
{
|
||||||
protected function setUp(): void
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
|
@ -43,6 +45,26 @@ class CustomReportTest extends TestCase
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testRequiresPermission()
|
||||||
|
{
|
||||||
|
$this->actingAs(User::factory()->create())
|
||||||
|
->get(route('reports/custom'))
|
||||||
|
->assertForbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCanLoadCustomReportPage()
|
||||||
|
{
|
||||||
|
$this->actingAs(User::factory()->canViewReports()->create())
|
||||||
|
->get(route('reports/custom'))
|
||||||
|
->assertOk()
|
||||||
|
->assertViewHas([
|
||||||
|
'template' => function (ReportTemplate $template) {
|
||||||
|
// the view should have an empty report by default
|
||||||
|
return $template->exists() === false;
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function testCustomAssetReport()
|
public function testCustomAssetReport()
|
||||||
{
|
{
|
||||||
Asset::factory()->create(['name' => 'Asset A']);
|
Asset::factory()->create(['name' => 'Asset A']);
|
||||||
|
|
Loading…
Reference in a new issue