Skip to content

Commit a9a8bb8

Browse files
committed
Fix tests
1 parent 4f84fed commit a9a8bb8

File tree

5 files changed

+24
-56
lines changed

5 files changed

+24
-56
lines changed

tests/feature/CreateTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Tobyz\Tests\JsonApiServer\feature;
1313

14+
use Prophecy\Argument;
1415
use Prophecy\PhpUnit\ProphecyTrait;
1516
use Tobyz\JsonApiServer\Adapter\AdapterInterface;
1617
use Tobyz\JsonApiServer\Exception\ForbiddenException;
@@ -125,6 +126,8 @@ public function test_new_models_are_supplied_and_saved_by_the_adapter()
125126
$adapter->model()->willReturn($createdModel = (object) []);
126127
$adapter->save($createdModel)->shouldBeCalled();
127128
$adapter->getId($createdModel)->willReturn('1');
129+
$adapter->query()->shouldBeCalled();
130+
$adapter->find(Argument::any(), '1')->willReturn($createdModel);
128131

129132
$this->api->resourceType('users', $adapter->reveal(), function (Type $type) {
130133
$type->creatable();
@@ -141,6 +144,8 @@ public function test_resources_can_provide_custom_models()
141144
$adapter->model()->shouldNotBeCalled();
142145
$adapter->save($createdModel)->shouldBeCalled();
143146
$adapter->getId($createdModel)->willReturn('1');
147+
$adapter->query()->shouldBeCalled();
148+
$adapter->find(Argument::any(), '1')->willReturn($createdModel);
144149

145150
$this->api->resourceType('users', $adapter->reveal(), function (Type $type) use ($createdModel) {
146151
$type->creatable();
@@ -161,6 +166,8 @@ public function test_resources_can_provide_custom_savers()
161166
$adapter->model()->willReturn($createdModel = (object) []);
162167
$adapter->save($createdModel)->shouldNotBeCalled();
163168
$adapter->getId($createdModel)->willReturn('1');
169+
$adapter->query()->shouldBeCalled();
170+
$adapter->find(Argument::any(), '1')->willReturn($createdModel);
164171

165172
$this->api->resourceType('users', $adapter->reveal(), function (Type $type) use ($createdModel, &$called) {
166173
$type->creatable();
@@ -184,6 +191,8 @@ public function test_resources_can_have_creation_listeners()
184191
$adapter = $this->prophesize(AdapterInterface::class);
185192
$adapter->model()->willReturn($createdModel = (object) []);
186193
$adapter->getId($createdModel)->willReturn('1');
194+
$adapter->query()->shouldBeCalled();
195+
$adapter->find(Argument::any(), '1')->willReturn($createdModel);
187196

188197
$this->api->resourceType('users', $adapter->reveal(), function (Type $type) use ($adapter, $createdModel, &$called) {
189198
$type->creatable();

tests/feature/DeleteTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public function test_resource_deletable_callback_receives_correct_parameters()
103103
$called = false;
104104

105105
$adapter = $this->prophesize(AdapterInterface::class);
106-
$adapter->newQuery()->willReturn($query = (object) []);
106+
$adapter->query()->willReturn($query = (object) []);
107107
$adapter->find($query, '1')->willReturn($deletingModel = (object) []);
108108
$adapter->delete($deletingModel);
109109

@@ -123,7 +123,7 @@ public function test_resource_deletable_callback_receives_correct_parameters()
123123
public function test_deleting_a_resource_calls_the_delete_adapter_method()
124124
{
125125
$adapter = $this->prophesize(AdapterInterface::class);
126-
$adapter->newQuery()->willReturn($query = (object) []);
126+
$adapter->query()->willReturn($query = (object) []);
127127
$adapter->find($query, '1')->willReturn($model = (object) []);
128128
$adapter->delete($model)->shouldBeCalled();
129129

@@ -139,7 +139,7 @@ public function test_resources_can_provide_custom_deleters()
139139
$called = false;
140140

141141
$adapter = $this->prophesize(AdapterInterface::class);
142-
$adapter->newQuery()->willReturn($query = (object) []);
142+
$adapter->query()->willReturn($query = (object) []);
143143
$adapter->find($query, '1')->willReturn($deletingModel = (object) []);
144144
$adapter->delete($deletingModel)->shouldNotBeCalled();
145145

@@ -162,7 +162,7 @@ public function test_resources_can_have_deletion_listeners()
162162
$called = 0;
163163

164164
$adapter = $this->prophesize(AdapterInterface::class);
165-
$adapter->newQuery()->willReturn($query = (object) []);
165+
$adapter->query()->willReturn($query = (object) []);
166166
$adapter->find($query, '1')->willReturn($deletingModel = (object) []);
167167
$adapter->delete($deletingModel)->shouldBeCalled();
168168

tests/feature/FieldGettersTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public function test_has_one_values_are_retrieved_via_the_adapter_by_default()
8585
$type->hasOne('animal')->withLinkage();
8686
});
8787

88-
$this->api->resourceType('animals', new MockAdapter);
88+
$this->api->resourceType('animals', new MockAdapter());
8989

9090
$response = $this->api->handle(
9191
$this->buildRequest('GET', '/users/1')
@@ -100,12 +100,12 @@ public function test_has_one_getters_allow_a_custom_value_to_be_used()
100100
{
101101
$this->api->resourceType('users', $this->adapter, function (Type $type) {
102102
$type->hasOne('animal')->withLinkage()
103-
->get(function ($model, Context $context) {
103+
->get(function ($model, bool $linkageOnly, Context $context) {
104104
return (object) ['id' => '2'];
105105
});
106106
});
107107

108-
$this->api->resourceType('animals', new MockAdapter);
108+
$this->api->resourceType('animals', new MockAdapter());
109109

110110
$response = $this->api->handle(
111111
$this->buildRequest('GET', '/users/1')
@@ -122,7 +122,7 @@ public function test_has_many_values_are_retrieved_via_the_adapter_by_default()
122122
$type->hasMany('animals')->withLinkage();
123123
});
124124

125-
$this->api->resourceType('animals', new MockAdapter);
125+
$this->api->resourceType('animals', new MockAdapter());
126126

127127
$response = $this->api->handle(
128128
$this->buildRequest('GET', '/users/1')
@@ -138,15 +138,15 @@ public function test_has_many_getters_allow_a_custom_value_to_be_used()
138138
{
139139
$this->api->resourceType('users', $this->adapter, function (Type $type) {
140140
$type->hasMany('animals')->withLinkage()
141-
->get(function ($model, Context $context) {
141+
->get(function ($model, bool $linkageOnly, Context $context) {
142142
return [
143143
(object) ['id' => '2'],
144144
(object) ['id' => '3']
145145
];
146146
});
147147
});
148148

149-
$this->api->resourceType('animals', new MockAdapter);
149+
$this->api->resourceType('animals', new MockAdapter());
150150

151151
$response = $this->api->handle(
152152
$this->buildRequest('GET', '/users/1')

tests/feature/FieldVisibilityTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function setUp(): void
4040

4141
public function test_fields_are_visible_by_default()
4242
{
43-
$this->api->resourceType('users', new MockAdapter, function (Type $type) {
43+
$this->api->resourceType('users', new MockAdapter(), function (Type $type) {
4444
$type->attribute('visible');
4545
});
4646

@@ -58,7 +58,7 @@ public function test_fields_can_be_explicitly_visible()
5858
{
5959
$this->markTestIncomplete();
6060

61-
$this->api->resourceType('users', new MockAdapter, function (Type $type) {
61+
$this->api->resourceType('users', new MockAdapter(), function (Type $type) {
6262
$type->attribute('visibleAttribute')->visible();
6363
$type->hasOne('visibleHasOne')->visible();
6464
$type->hasMany('visibleHasMany')->visible();
@@ -81,7 +81,7 @@ public function test_fields_can_be_conditionally_visible()
8181
{
8282
$this->markTestIncomplete();
8383

84-
$this->api->resourceType('users', new MockAdapter, function (Type $type) {
84+
$this->api->resourceType('users', new MockAdapter(), function (Type $type) {
8585
$type->attribute('visibleAttribute')
8686
->visible(function () { return true; });
8787

@@ -152,7 +152,7 @@ public function test_fields_can_be_explicitly_hidden()
152152
{
153153
$this->markTestIncomplete();
154154

155-
$this->api->resourceType('users', new MockAdapter, function (Type $type) {
155+
$this->api->resourceType('users', new MockAdapter(), function (Type $type) {
156156
$type->attribute('hiddenAttribute')->hidden();
157157
$type->hasOne('hiddenHasOne')->hidden();
158158
$type->hasMany('hiddenHasMany')->hidden();
@@ -175,7 +175,7 @@ public function test_fields_can_be_conditionally_hidden()
175175
{
176176
$this->markTestIncomplete();
177177

178-
$this->api->resourceType('users', new MockAdapter, function (Type $type) {
178+
$this->api->resourceType('users', new MockAdapter(), function (Type $type) {
179179
$type->attribute('visibleAttribute')
180180
->hidden(function () { return false; });
181181

tests/feature/ScopesTest.php

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
namespace Tobyz\Tests\JsonApiServer\feature;
1313

14-
use Psr\Http\Message\ServerRequestInterface;
1514
use Tobyz\JsonApiServer\JsonApi;
1615
use Tobyz\JsonApiServer\Context;
1716
use Tobyz\JsonApiServer\Schema\Type;
@@ -88,44 +87,4 @@ public function test_scopes_are_applied_to_the_delete_resource_query()
8887

8988
$this->assertTrue($this->scopeWasCalled);
9089
}
91-
92-
public function test_scopes_are_applied_to_related_resources()
93-
{
94-
$this->api->resourceType('pets', new MockAdapter, function (Type $type) {
95-
$type->hasOne('owner')
96-
->type('users')
97-
->includable();
98-
});
99-
100-
$this->api->handle(
101-
$this->buildRequest('GET', '/pets/1')
102-
->withQueryParams(['include' => 'owner'])
103-
);
104-
105-
$this->assertTrue($this->scopeWasCalled);
106-
}
107-
108-
public function test_scopes_are_applied_to_polymorphic_related_resources()
109-
{
110-
$this->api->resourceType('pets', new MockAdapter, function (Type $type) {
111-
$type->hasOne('owner')
112-
->polymorphic(['users', 'organisations'])
113-
->includable();
114-
});
115-
116-
$organisationScopeWasCalled = false;
117-
$this->api->resourceType('organisations', new MockAdapter, function (Type $type) use (&$organisationScopeWasCalled) {
118-
$type->scope(function ($query, Context $context) use (&$organisationScopeWasCalled) {
119-
$organisationScopeWasCalled = true;
120-
});
121-
});
122-
123-
$this->api->handle(
124-
$this->buildRequest('GET', '/pets/1')
125-
->withQueryParams(['include' => 'owner'])
126-
);
127-
128-
$this->assertTrue($this->scopeWasCalled);
129-
$this->assertTrue($organisationScopeWasCalled);
130-
}
13190
}

0 commit comments

Comments
 (0)