Skip to content

Commit

Permalink
Change Create endpoint from POST to PUT
Browse files Browse the repository at this point in the history
Create Endpoint now overwrite all items in BatchSending
  • Loading branch information
David Kalianko committed Sep 22, 2024
1 parent 106cad9 commit 16eeb87
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 6 deletions.
22 changes: 18 additions & 4 deletions src/Endpoint/BatchSendingItemsEndpoint.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,26 @@

namespace DigitalCz\DigiSign\Endpoint;

use DigitalCz\DigiSign\Endpoint\Traits\CRUDEndpointTrait;
use DigitalCz\DigiSign\Endpoint\Traits\DeleteEndpointTrait;
use DigitalCz\DigiSign\Endpoint\Traits\GetEndpointTrait;
use DigitalCz\DigiSign\Endpoint\Traits\ListEndpointTrait;
use DigitalCz\DigiSign\Endpoint\Traits\UpdateEndpointTrait;
use DigitalCz\DigiSign\Resource\BatchSending;
use DigitalCz\DigiSign\Resource\BatchSendingItem;

/**
* @extends ResourceEndpoint<BatchSendingItem>
* @method BatchSendingItem get(string $id)
* @method BatchSendingItem create(array $body)
* @method BatchSendingItem update(string $id, array $body)
* @method BatchSendingItem delete(string $id)
*/
final class BatchSendingItemsEndpoint extends ResourceEndpoint
{
/** @use CRUDEndpointTrait<BatchSendingItem> */
use CRUDEndpointTrait;
/** @use ListEndpointTrait<BatchSendingItem> */
use ListEndpointTrait;
use GetEndpointTrait;
use UpdateEndpointTrait;
use DeleteEndpointTrait;

public function __construct(BatchSendingsEndpoint $parent, BatchSending|string $batchSending)
{
Expand All @@ -36,4 +42,12 @@ public function import(array $body): void
{
$this->postRequest('/import', ['json' => $body]);
}

/**
* @param mixed[] $body
*/
public function create(array $body): BatchSendingItem
{
return $this->makeResource($this->putRequest('', ['json' => $body]));
}
}
29 changes: 27 additions & 2 deletions tests/Endpoint/BatchSendingItemsEndpointTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,34 @@ public function testImport(): void
self::assertLastRequest('POST', "/api/batch-sendings/bar/items/import", ['file' => 'bar']);
}

public function testCRUD(): void
public function testList(): void
{
self::assertCrudRequests(self::endpoint(), '/api/batch-sendings/bar/items');
self::endpoint()->list(['foo' => 'bar']);
self::assertLastRequest('GET', '/api/batch-sendings/bar/items?foo=bar');
}

public function testGet(): void
{
self::endpoint()->get('foo');
self::assertLastRequest('GET', '/api/batch-sendings/bar/items/foo');
}

public function testCreate(): void
{
self::endpoint()->create(['foo' => 'bar']);
self::assertLastRequest('PUT', '/api/batch-sendings/bar/items', ['foo' => 'bar']);
}

public function testUpdate(): void
{
self::endpoint()->update('foo', ['foo' => 'bar']);
self::assertLastRequest('PUT', '/api/batch-sendings/bar/items/foo', ['foo' => 'bar']);
}

public function testDelete(): void
{
self::endpoint()->delete('foo');
self::assertLastRequest('DELETE', '/api/batch-sendings/bar/items/foo');
}

protected static function endpoint(): BatchSendingItemsEndpoint
Expand Down

0 comments on commit 16eeb87

Please sign in to comment.