Skip to content

Commit d91bc79

Browse files
committed
Fix MockAdapter implementation
1 parent a839219 commit d91bc79

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

tests/MockAdapter.php

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
namespace Tobyz\Tests\JsonApiServer;
44

5+
use Closure;
56
use Tobyz\JsonApiServer\Adapter\AdapterInterface;
7+
use Tobyz\JsonApiServer\Context;
68
use Tobyz\JsonApiServer\Schema\Attribute;
79
use Tobyz\JsonApiServer\Schema\Field;
810
use Tobyz\JsonApiServer\Schema\HasMany;
911
use Tobyz\JsonApiServer\Schema\HasOne;
12+
use Tobyz\JsonApiServer\Schema\Relationship;
1013

1114
class MockAdapter implements AdapterInterface
1215
{
@@ -21,12 +24,12 @@ public function __construct(array $models = [], string $type = null)
2124
$this->type = $type;
2225
}
2326

24-
public function newModel()
27+
public function model()
2528
{
2629
return $this->createdModel = (object) [];
2730
}
2831

29-
public function newQuery()
32+
public function query()
3033
{
3134
return $this->query = (object) [];
3235
}
@@ -51,16 +54,21 @@ public function getAttribute($model, Attribute $attribute)
5154
return $model->{$this->getProperty($attribute)} ?? 'default';
5255
}
5356

54-
public function getHasOne($model, HasOne $relationship, bool $linkage)
57+
public function getHasOne($model, HasOne $relationship, bool $linkageOnly, Context $context)
5558
{
5659
return $model->{$this->getProperty($relationship)} ?? null;
5760
}
5861

59-
public function getHasMany($model, HasMany $relationship, bool $linkage): array
62+
public function getHasMany($model, HasMany $relationship, bool $linkageOnly, Context $context): array
6063
{
6164
return $model->{$this->getProperty($relationship)} ?? [];
6265
}
6366

67+
public function setId($model, string $id): void
68+
{
69+
$model->id = $id;
70+
}
71+
6472
public function setAttribute($model, Attribute $attribute, $value): void
6573
{
6674
$model->{$this->getProperty($attribute)} = $value;
@@ -100,14 +108,9 @@ public function filterByAttribute($query, Attribute $attribute, $value, string $
100108
$query->filter[] = [$attribute, $operator, $value];
101109
}
102110

103-
public function filterByHasOne($query, HasOne $relationship, array $ids): void
104-
{
105-
$query->filter[] = [$relationship, $ids];
106-
}
107-
108-
public function filterByHasMany($query, HasMany $relationship, array $ids): void
111+
public function filterByRelationship($query, Relationship $relationship, Closure $scope): void
109112
{
110-
$query->filter[] = [$relationship, $ids];
113+
$query->filter[] = [$relationship, $scope];
111114
}
112115

113116
public function sortByAttribute($query, Attribute $attribute, string $direction): void
@@ -135,7 +138,7 @@ public function load(array $models, array $relationships, $scope, bool $linkage)
135138
}
136139
}
137140

138-
private function getProperty(Field $field)
141+
private function getProperty(Field $field): string
139142
{
140143
return $field->getProperty() ?: $field->getName();
141144
}

0 commit comments

Comments
 (0)