Skip to content

Commit fa60195

Browse files
Ensure resource types are presented correctly in list response (limosa-io#93)
1 parent 2f219c4 commit fa60195

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

src/Helper.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static function prepareReturn(Arrayable $object, ResourceType $resourceTy
5050
public static function objectToSCIMArray($object, ResourceType $resourceType = null, array $attributes = [])
5151
{
5252
if($resourceType == null){
53-
return $object;
53+
return $object instanceof Arrayable ? $object->toArray() : $object;
5454
}
5555

5656
$mapping = $resourceType->getMapping();

src/SCIM/ResourceType.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
namespace ArieTimmerman\Laravel\SCIMServer\SCIM;
44

5+
use Illuminate\Contracts\Support\Arrayable;
56
use Illuminate\Contracts\Support\Jsonable;
67

7-
class ResourceType implements Jsonable
8+
class ResourceType implements Jsonable, Arrayable
89
{
910
public $id;
1011

tests/ResourceTypesTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,26 @@ public function testGet()
1616
{
1717
$response = $this->get('/scim/v2/ResourceTypes');
1818
$response->assertStatus(200);
19+
20+
$response->assertJsonStructure([
21+
'schemas',
22+
'totalResults',
23+
'Resources' => [
24+
'*' => [
25+
'schemas',
26+
'id',
27+
'name',
28+
'endpoint',
29+
'description',
30+
'schema',
31+
'schemaExtensions',
32+
'meta' => [
33+
'location',
34+
'resourceType'
35+
]
36+
]
37+
]
38+
]);
1939
}
2040

2141
public function testGetOne(){

0 commit comments

Comments
 (0)