Skip to content

Commit e48dc87

Browse files
committed
Updated resolver tests
1 parent 7fa73ee commit e48dc87

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

tests/Unit/ResolverTest.php

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,28 @@
7272
expect($service->for('foo'))->toBe($resolver);
7373
});
7474

75+
it('can resolve simple defined route', function () {
76+
URL::shouldReceive('route')
77+
->once()
78+
->with('foo', [])
79+
->andReturn('https://foo.bar/testing-route');
80+
81+
$resolver = (new Route('some-key'))->route('foo');
82+
83+
expect($resolver->resolve())->toBe('https://foo.bar/testing-route');
84+
});
85+
86+
it('can resolve defined route with arguments', function () {
87+
URL::shouldReceive('route')
88+
->once()
89+
->with('foo', ['bar' => 'test', 'foo' => 'bar'])
90+
->andReturn('https://foo.bar/testing-route');
91+
92+
$resolver = (new Route('some-key'))->route('foo', ['bar' => 'overwritten', 'foo' => 'bar']);
93+
94+
expect($resolver->resolve(['bar' => 'test']))->toBe('https://foo.bar/testing-route');
95+
});
96+
7597
it('can register resource archive with index page and resource entries from array', function () {
7698
setupAppBindings();
7799

@@ -110,6 +132,7 @@
110132

111133
expect($resolver)->toBeInstanceOf(Archive::class);
112134
expect($service->for('posts'))->toBeWorkingArchiveResolver();
135+
expect($service->tryFor('posts.index'))->toBeNull();
113136
expect($service->for('posts.item'))->toBeWorkingArchiveItemsResolver(
114137
collect(FakeModel::$items)->mapWithKeys(fn($item) => [$item['id'] => $item['title']])
115138
);
@@ -134,6 +157,7 @@ public function toArray() {
134157

135158
expect($resolver)->toBeInstanceOf(Archive::class);
136159
expect($service->for('posts'))->toBeWorkingArchiveResolver();
160+
expect($service->tryFor('posts.index'))->toBeNull();
137161
expect($service->for('posts.item'))->toBeWorkingArchiveItemsResolver(
138162
collect(FakeModel::$items)->mapWithKeys(fn($item) => [$item['id'] => $item['title']])
139163
);
@@ -154,6 +178,7 @@ public function toArray() {
154178

155179
expect($resolver)->toBeInstanceOf(Archive::class);
156180
expect($service->for('posts'))->toBeWorkingArchiveResolver();
181+
expect($service->tryFor('posts.index'))->toBeNull();
157182
expect($service->for('posts.item'))->toBeWorkingArchiveItemsResolver(
158183
collect(FakeModel::$items)->mapWithKeys(fn($item) => [$item['id'] => $item['title']])
159184
);
@@ -174,6 +199,7 @@ public function toArray() {
174199

175200
expect($resolver)->toBeInstanceOf(Archive::class);
176201
expect($service->for('posts'))->toBeWorkingArchiveResolver();
202+
expect($service->tryFor('posts.index'))->toBeNull();
177203
expect($service->for('posts.item'))->toBeWorkingArchiveItemsResolver(
178204
collect(FakeModel::$items)->mapWithKeys(fn($item) => [$item['id'] => $item['title']])
179205
);
@@ -193,6 +219,7 @@ public function toArray() {
193219

194220
expect($resolver)->toBeInstanceOf(Archive::class);
195221
expect($service->for('posts'))->toBeWorkingArchiveResolver();
222+
expect($service->tryFor('posts.index'))->toBeNull();
196223
expect($service->for('posts.item'))->toBeWorkingArchiveItemsResolver(
197224
collect(FakeModel::$items)->mapWithKeys(fn($item) => [$item['id'] => $item['title']])
198225
);
@@ -212,29 +239,8 @@ public function toArray() {
212239

213240
expect($resolver)->toBeInstanceOf(Archive::class);
214241
expect($service->for('posts'))->toBeWorkingArchiveResolver();
242+
expect($service->tryFor('posts.index'))->toBeNull();
215243
expect($service->for('posts.item'))->toBeWorkingArchiveItemsResolver(
216244
collect(FakeModel::$items)->take(2)->mapWithKeys(fn($item) => [$item['id'] => $item['title']])
217245
);
218246
});
219-
220-
it('can resolve simple defined route', function () {
221-
URL::shouldReceive('route')
222-
->once()
223-
->with('foo', [])
224-
->andReturn('https://foo.bar/testing-route');
225-
226-
$resolver = (new Route('some-key'))->route('foo');
227-
228-
expect($resolver->resolve())->toBe('https://foo.bar/testing-route');
229-
});
230-
231-
it('can resolve defined route with arguments', function () {
232-
URL::shouldReceive('route')
233-
->once()
234-
->with('foo', ['bar' => 'test', 'foo' => 'bar'])
235-
->andReturn('https://foo.bar/testing-route');
236-
237-
$resolver = (new Route('some-key'))->route('foo', ['bar' => 'overwritten', 'foo' => 'bar']);
238-
239-
expect($resolver->resolve(['bar' => 'test']))->toBe('https://foo.bar/testing-route');
240-
});

0 commit comments

Comments
 (0)