|
6 | 6 | $vars = BuildStubVars::handle(['name'], collect(['name' => 'string'])); |
7 | 7 |
|
8 | 8 | expect($vars['columns'])->toContain("Column::make('Name', 'name')\n ->sortable()\n ->searchable(),") |
9 | | - ->and($vars['Fields'])->toContain("->add('name')") |
| 9 | + ->and($vars['PowerGridFields'])->toContain("->add('name')") |
10 | 10 | ->and($vars['filters'])->toContain("Filter::inputText('name')->operators(['contains']),"); |
11 | 11 | }); |
12 | 12 |
|
13 | 13 | it('generates a plain column without a filter for an integer', function () { |
14 | 14 | $vars = BuildStubVars::handle(['votes'], collect(['votes' => 'integer'])); |
15 | 15 |
|
16 | 16 | expect($vars['columns'])->toContain("Column::make('Votes', 'votes'),") |
17 | | - ->and($vars['Fields'])->toContain("->add('votes')") |
| 17 | + ->and($vars['PowerGridFields'])->toContain("->add('votes')") |
18 | 18 | ->and($vars['filters'])->not->toContain('votes'); |
19 | 19 | }); |
20 | 20 |
|
21 | 21 | it('generates a toggleable column with a boolean filter for a boolean', function () { |
22 | 22 | $vars = BuildStubVars::handle(['in_stock'], collect(['in_stock' => 'boolean'])); |
23 | 23 |
|
24 | 24 | expect($vars['columns'])->toContain("Column::make('In stock', 'in_stock')\n ->toggleable(),") |
25 | | - ->and($vars['Fields'])->toContain("->add('in_stock')") |
| 25 | + ->and($vars['PowerGridFields'])->toContain("->add('in_stock')") |
26 | 26 | ->and($vars['filters'])->toContain("Filter::boolean('in_stock'),"); |
27 | 27 | }); |
28 | 28 |
|
29 | 29 | it('generates a formatted column with a date filter for a date', function () { |
30 | 30 | $vars = BuildStubVars::handle(['published_on'], collect(['published_on' => 'date'])); |
31 | 31 |
|
32 | 32 | expect($vars['columns'])->toContain("Column::make('Published on', 'published_on_formatted', 'published_on')") |
33 | | - ->and($vars['Fields'])->toContain("->add('published_on_formatted', fn (\$model) => Carbon::parse(\$model->published_on)->format('d/m/Y'))") |
| 33 | + ->and($vars['PowerGridFields'])->toContain("->add('published_on_formatted', fn (\$model) => Carbon::parse(\$model->published_on)->format('d/m/Y'))") |
34 | 34 | ->and($vars['filters'])->toContain("Filter::datepicker('published_on'),"); |
35 | 35 | }); |
36 | 36 |
|
37 | 37 | it('generates a formatted column with a datetime filter for a datetime', function () { |
38 | 38 | $vars = BuildStubVars::handle(['created_at'], collect(['created_at' => 'datetime'])); |
39 | 39 |
|
40 | 40 | expect($vars['columns'])->toContain("Column::make('Created at', 'created_at_formatted', 'created_at')") |
41 | | - ->and($vars['Fields'])->toContain("->add('created_at_formatted', fn (\$model) => Carbon::parse(\$model->created_at)->format('d/m/Y H:i:s'))") |
| 41 | + ->and($vars['PowerGridFields'])->toContain("->add('created_at_formatted', fn (\$model) => Carbon::parse(\$model->created_at)->format('d/m/Y H:i:s'))") |
42 | 42 | ->and($vars['filters'])->toContain("Filter::datetimepicker('created_at'),"); |
43 | 43 | }); |
44 | 44 |
|
45 | 45 | it('falls back to a searchable column without a filter for an unknown type', function () { |
46 | 46 | $vars = BuildStubVars::handle(['payload'], collect(['payload' => 'other'])); |
47 | 47 |
|
48 | 48 | expect($vars['columns'])->toContain("Column::make('Payload', 'payload')\n ->sortable()\n ->searchable(),") |
49 | | - ->and($vars['Fields'])->toContain("->add('payload')") |
| 49 | + ->and($vars['PowerGridFields'])->toContain("->add('payload')") |
50 | 50 | ->and($vars['filters'])->toBe("[\n ];"); |
51 | 51 | }); |
52 | 52 |
|
53 | 53 | it('adds the closure example to the first string field only', function () { |
54 | 54 | $vars = BuildStubVars::handle(['name', 'email'], collect(['name' => 'string', 'email' => 'string'])); |
55 | 55 |
|
56 | | - expect(substr_count($vars['Fields'], 'Example of custom column using a closure'))->toBe(1) |
57 | | - ->and($vars['Fields'])->toContain("->add('name_lower', fn (\$model) => strtolower(e(\$model->name)))") |
58 | | - ->and($vars['Fields'])->not->toContain('email_lower'); |
| 56 | + expect(substr_count($vars['PowerGridFields'], 'Example of custom column using a closure'))->toBe(1) |
| 57 | + ->and($vars['PowerGridFields'])->toContain("->add('name_lower', fn (\$model) => strtolower(e(\$model->name)))") |
| 58 | + ->and($vars['PowerGridFields'])->not->toContain('email_lower'); |
59 | 59 | }); |
60 | 60 |
|
61 | 61 | it('type-hints the model in generated closures', function () { |
62 | 62 | $vars = BuildStubVars::handle(['name', 'created_at'], collect(['name' => 'string', 'created_at' => 'datetime']), 'Dish'); |
63 | 63 |
|
64 | | - expect($vars['Fields']) |
| 64 | + expect($vars['PowerGridFields']) |
65 | 65 | ->toContain('fn (Dish $model) => strtolower(e($model->name))') |
66 | 66 | ->toContain('fn (Dish $model) => Carbon::parse($model->created_at)'); |
67 | 67 | }); |
68 | 68 |
|
69 | 69 | it('skips fields that have no known column type', function () { |
70 | 70 | $vars = BuildStubVars::handle(['name', 'ghost'], collect(['name' => 'string'])); |
71 | 71 |
|
72 | | - expect($vars['Fields'])->not->toContain('ghost') |
| 72 | + expect($vars['PowerGridFields'])->not->toContain('ghost') |
73 | 73 | ->and($vars['columns'])->not->toContain('ghost'); |
74 | 74 | }); |
75 | 75 |
|
|
84 | 84 |
|
85 | 85 | expect($vars['columns'])->toBe("[\n Column::action('Action')\n ];") |
86 | 86 | ->and($vars['filters'])->toBe("[\n ];") |
87 | | - ->and($vars['Fields'])->toBe(''); |
| 87 | + ->and($vars['PowerGridFields'])->toBe(''); |
88 | 88 | }); |
0 commit comments