diff --git a/src/Collection.php b/src/Collection.php index d70b337..933e269 100644 --- a/src/Collection.php +++ b/src/Collection.php @@ -69,10 +69,10 @@ class Collection $response = curl_exec($ch); } - public function authAsUser(string $email, string $password): string + public function authAsUser(string $email, string $password): array { $result = $this->doRequest($this->url . "/api/collections/users/auth-with-password", 'POST', ['identity' => $email, 'password' => $password]); - var_dump($result); + $result = json_decode($result, JSON_FORCE_OBJECT); if (!empty($result['token'])) { self::$token = $result['token']; } @@ -106,6 +106,7 @@ class Collection public function create(array $bodyParams = [], array $queryParams = []): string { + // TODO query params ? return $this->doRequest($this->url . "/api/collections/" . $this->collection . "/records", 'POST', $bodyParams); } @@ -192,6 +193,4 @@ class Collection $this->collection = $collection; return $this; } - - } diff --git a/tests/CollectionCreateTest.php b/tests/CollectionCreateTest.php index f393fa7..2b2e3cf 100644 --- a/tests/CollectionCreateTest.php +++ b/tests/CollectionCreateTest.php @@ -16,14 +16,20 @@ class CollectionCreateTest extends TestCase } public function testCreateCollectionItem(){ - // $this->expectException(ClientException::class); - // $this->collection->create(['name' => 'Hallo Welt']); + $this->expectException(ClientException::class); + $this->expectExceptionCode(403); + $this->collection->create(['name' => 'Hallo Welt']); } public function testCreateCollectionItemAuthed(){ - $this->collection->authAsUser('admin@jmartz.de', 'rockt123?!'); - self::assertNotEmpty($this->collection); - // $response = $this->collection->create(['name' => 'Hallo Welt']); - // var_dump($response); + $this->collection->authAsUser('admin@jmartz.de', 'rockt123?!');# + self::assertNotEmpty($this->collection->getAuthToken()); + } + + public function testCreateCollectionItemAuthedAdmin(){ + $this->collection->authAsAdmin('admin@jonathan-martz.de', 'rockt123?!'); + $response = $this->collection->create(['email' => 'test@jonathan-martz.de','password' => 'rockt123?!','passwordConfirm' => 'rockt123?!']); + var_dump($response); + self::assertNotEmpty($this->collection->getAuthToken()); } } \ No newline at end of file