CreateOperationTest.php 1.6 KB

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