From 1405e17251b9ec2fd4f3436b5dcc511f4863e1d6 Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Tue, 8 Aug 2023 17:10:36 -0700 Subject: [PATCH] Add simple test around custom asset report response --- database/factories/UserFactory.php | 9 ++++++ tests/Feature/Reports/CustomReportTest.php | 33 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 tests/Feature/Reports/CustomReportTest.php diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 2445a351f3..db13224616 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -432,4 +432,13 @@ class UserFactory extends Factory ]; }); } + + public function canViewReports() + { + return $this->state(function () { + return [ + 'permissions' => '{"reports.view":"1"}', + ]; + }); + } } diff --git a/tests/Feature/Reports/CustomReportTest.php b/tests/Feature/Reports/CustomReportTest.php new file mode 100644 index 0000000000..b8d7009942 --- /dev/null +++ b/tests/Feature/Reports/CustomReportTest.php @@ -0,0 +1,33 @@ +create(['name' => 'Asset A']); + Asset::factory()->create(['name' => 'Asset B']); + + $response = $this->actingAs(User::factory()->canViewReports()->create()) + ->post('reports/custom', [ + 'asset_name' => '1', + 'asset_tag' => '1', + 'serial' => '1', + ])->assertOk() + ->assertHeader('content-type', 'text/csv; charset=UTF-8'); + + $reader = Reader::createFromString($response->streamedContent()); + + $this->assertTrue(collect($reader->getRecords())->pluck(0)->contains('Asset A')); + $this->assertTrue(collect($reader->getRecords())->pluck(0)->contains('Asset B')); + } +}