CreateOperationTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. use App\Service\Rest\Operation\CreateOperation;
  3. use PHPUnit\Framework\TestCase;
  4. class CreateOperationTest extends TestCase
  5. {
  6. public function testGetters(): void
  7. {
  8. $operation = new CreateOperation(
  9. 'Create a dinosaur',
  10. 'dinosaur',
  11. ['name' => 'denver']
  12. );
  13. $this->assertEquals('POST', $operation->getMethod());
  14. $this->assertEquals('dinosaur', $operation->getEntityName());
  15. $this->assertEquals('dinosaur', $operation->getPath());
  16. $this->assertEquals(['name' => 'denver'], $operation->getData());
  17. $this->assertEquals('POST dinosaur', (string)$operation);
  18. }
  19. public function testGetChangeLog(): void
  20. {
  21. $operation = new CreateOperation(
  22. 'Create a dinosaur',
  23. 'dinosaur',
  24. ['name' => 'denver', 'color' => 'green', 'objects' => ['glasses' => 'pink', 'guitar' => 'electric']]
  25. );
  26. $this->assertEquals(
  27. [
  28. '[POST dinosaur]',
  29. 'name : (new) => `denver`',
  30. 'color : (new) => `green`',
  31. 'objects.glasses : (new) => `pink`',
  32. 'objects.guitar : (new) => `electric`',
  33. ],
  34. $operation->getChangeLog()
  35. );
  36. }
  37. }