. */ namespace Xibo\Tests\integration\Widget; use Xibo\Tests\Helper\LayoutHelperTrait; use Xibo\Tests\LocalWebTestCase; /** * Class WidgetAddTest * @package Xibo\Tests\integration\Widget */ class WidgetAddTest extends LocalWebTestCase { use LayoutHelperTrait; /** @var \Xibo\OAuth2\Client\Entity\XiboLayout */ protected $layout; /** @var \Xibo\OAuth2\Client\Entity\XiboLayout */ protected $publishedLayout; /** @var int */ protected $widgetId; // public function setup() { parent::setup(); $this->getLogger()->debug('Setup for ' . get_class($this) .' Test'); // Create a Layout $this->publishedLayout = $this->createLayout(); // Checkout $this->layout = $this->getDraft($this->publishedLayout); } public function tearDown() { parent::tearDown(); // Delete the Layout we've been working with $this->deleteLayout($this->publishedLayout); } // /** * Test add a widget */ public function testAdd() { $playlistId = $this->layout->regions[0]->regionPlaylist->playlistId; $this->getLogger()->debug('testAdd - ' . $playlistId); $response = $this->sendRequest('POST','/playlist/widget/text/' . $playlistId); $this->assertSame(200, $response->getStatusCode(), $response->getBody()); $this->assertNotEmpty($response->getBody()); $object = json_decode($response->getBody()); $this->assertObjectHasAttribute('data', $object, $response->getBody()); $this->getLogger()->debug('testAdd - finished.'); } /** * Test adding a non-region specific widget using the region specific widget add call */ public function testAddNonRegionSpecific() { $playlistId = $this->layout->regions[0]->regionPlaylist->playlistId; $this->getLogger()->debug('testAddNonRegionSpecific - ' . $playlistId); $response = $this->sendRequest('POST','/playlist/widget/audio/' . $playlistId); $this->assertSame(422, $response->getStatusCode(), 'Status Code isnt correct: ' . $response->getStatusCode()); $this->getLogger()->debug('testAddNonRegionSpecific - finished.'); } }