forked from grokability/snipe-it
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLegacyFilterTest.php
More file actions
88 lines (66 loc) · 2.31 KB
/
LegacyFilterTest.php
File metadata and controls
88 lines (66 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
namespace Tests\Feature\AssetQuery;
use App\Models\Asset;
use App\Models\Company;
use Tests\TestCase;
class LegacyFilterTest extends TestCase
{
public function testFilterAssetsByCompanyId()
{
$companyA = Company::factory()->create();
$companyB = Company::factory()->create();
$assetA = Asset::factory()->create(['company_id' => $companyA->id]);
$assetB = Asset::factory()->create(['company_id' => $companyB->id]);
$filter = [
'company_id' => $companyA->id
];
$results = Asset::query()->byFilter($filter)->get();
$this->assertCount(1, $results);
$this->assertTrue($results->contains($assetA));
}
public function testFilterAssetsByAssetTag()
{
$assetA = Asset::factory()->create(['asset_tag' => 'A1']);
$assetB = Asset::factory()->create(['asset_tag' => 'B1']);
$filter = [
'asset_tag' => 'A1'
];
$results = Asset::query()->byFilter($filter)->get();
$this->assertCount(1, $results);
$this->assertTrue($results->contains($assetA));
}
public function testFilterAssetsByCompanyAndAssetTag()
{
$companyA = Company::factory()->create();
$companyB = Company::factory()->create();
$assetA = Asset::factory()->create([
'company_id' => $companyA->id,
'asset_tag' => 'X1'
]);
$assetB = Asset::factory()->create([
'company_id' => $companyA->id,
'asset_tag' => 'Y1'
]);
$assetC = Asset::factory()->create([
'company_id' => $companyB->id,
'asset_tag' => 'X1'
]);
$filter = [
'company_id' => $companyA->id,
'asset_tag' => 'X1'
];
$results = Asset::query()->byFilter($filter)->get();
$this->assertCount(1, $results);
$this->assertTrue($results->contains($assetA));
}
public function testReturnsAllAssetsWhenFilterIsEmpty()
{
$assetA = Asset::factory()->create();
$assetB = Asset::factory()->create();
$filter = [];
$results = Asset::query()->byFilter($filter)->get();
$this->assertCount(2, $results);
$this->assertTrue($results->contains($assetA));
$this->assertTrue($results->contains($assetB));
}
}