/** * Get integration id. * * @param Integration $integration * @return int|null */ protected function getIntegrationId(Integration $integration) { $name = $integration->getName(); $filter = base64_encode('name=' . $integration->getName()); $url = $_ENV['app_backend_url'] . 'admin/integration/grid/filter/' . $filter; $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); $curl->write($url); $response = $curl->read(); $curl->close(); preg_match('~<td.*?>.*?' . $name . '.*?/integration/edit/id/(\\d+)/~siu', $response, $matches); return isset($matches[1]) ? $matches[1] : null; }
/** * Assert that success save message is appeared on the Integrations page * * @param IntegrationIndex $integrationIndexPage * @param Integration $integration * @param Integration|null $initialIntegration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, Integration $integration, Integration $initialIntegration = null) { $name = $initialIntegration !== null && !$integration->hasData('name') ? $initialIntegration->getName() : $integration->getName(); $expectedMessage = sprintf(self::SUCCESS_SAVE_MESSAGE, $name); $actualMessage = $integrationIndexPage->getMessagesBlock()->getSuccessMessage(); \PHPUnit_Framework_Assert::assertEquals($expectedMessage, $actualMessage, 'Wrong success message is displayed.' . "\nExpected: " . $expectedMessage . "\nActual: " . $actualMessage); }
/** * Activate Integration Entity Test. * * @param Integration $integration * @return void */ public function test(Integration $integration) { // Preconditions $integration->persist(); // Steps $filter = ['name' => $integration->getName()]; $this->integrationIndexPage->open(); $this->integrationIndexPage->getIntegrationGrid()->searchAndActivate($filter); }
/** * Assert that Access tokens was changed correctly after Reauthorize. * Checking fields: * - Consumer Key; * - Consumer Secret; * - Access Token; * - Access Token Secret. * * @param IntegrationIndex $integrationIndex * @param IntegrationNew $integrationNew * @param Integration $integration * @return void */ public function processAssert(IntegrationIndex $integrationIndex, IntegrationNew $integrationNew, Integration $integration) { $filter = ['name' => $integration->getName()]; $integrationIndex->open(); $integrationIndex->getIntegrationGrid()->searchAndOpen($filter); $actualData = $integrationNew->getIntegrationForm()->getData(); $errors = $this->checkTokens($actualData, $integration->getData()); \PHPUnit_Framework_Assert::assertEmpty($errors, "Integration tokens was changed incorrectly.\nLog:\n" . implode(";\n", $errors)); }
/** * Update Integration Entity test. * * @param Integration $initialIntegration * @param Integration $integration * @return void */ public function test(Integration $initialIntegration, Integration $integration) { // Precondition $initialIntegration->persist(); // Steps $filter = ['name' => $initialIntegration->getName()]; $this->integrationIndexPage->open(); $this->integrationIndexPage->getIntegrationGrid()->searchAndOpen($filter); $this->integrationNewPage->getIntegrationForm()->fill($integration); $this->integrationNewPage->getFormPageActions()->save(); }
/** * Test for Reauthorize tokens for the Integration Entity. * * @param Integration $integration * @return array */ public function test(Integration $integration) { // Precondition $integration->persist(); $filter = ['name' => $integration->getName()]; $this->integrationIndex->open(); $this->integrationIndex->getIntegrationGrid()->searchAndActivate($filter); $this->integrationIndex->getIntegrationGrid()->getResourcesPopup()->clickAllowButton(); $tokens = $this->integrationIndex->getIntegrationGrid()->getTokensPopup()->getData(); $this->integrationIndex->getIntegrationGrid()->getTokensPopup()->clickDoneButton(); $integration = $this->fixtureFactory->createByCode('integration', ['data' => array_merge($integration->getData(), $tokens)]); // Steps $this->integrationIndex->getIntegrationGrid()->searchAndReauthorize($filter); $this->integrationIndex->getIntegrationGrid()->getResourcesPopup()->clickReauthorizeButton(); $this->integrationIndex->getIntegrationGrid()->getTokensPopup()->clickDoneButton(); return ['integration' => $integration]; }
/** * Assert that success delete message is appeared on the Integrations page * * @param IntegrationIndex $integrationIndexPage * @param Integration $integration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, Integration $integration) { $expectedMessage = sprintf(self::SUCCESS_DELETE_MESSAGE, $integration->getName()); $actualMessage = $integrationIndexPage->getMessagesBlock()->getSuccessMessages(); \PHPUnit_Framework_Assert::assertEquals($expectedMessage, $actualMessage, 'Wrong success message is displayed.' . "\nExpected: " . $expectedMessage . "\nActual: " . $actualMessage); }
/** * Assert that Integration is not presented in grid and cannot be found using name * * @param IntegrationIndex $integrationIndexPage * @param Integration $integration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, Integration $integration) { $filter = ['name' => $integration->getName()]; $integrationIndexPage->open(); \PHPUnit_Framework_Assert::assertFalse($integrationIndexPage->getIntegrationGrid()->isRowVisible($filter), 'Integration \'' . $filter['name'] . '\' is present in Integration grid.'); }
/** * Assert that data in grid on Integrations page according to fixture by name field * * @param IntegrationIndex $integrationIndexPage * @param Integration $integration * @param Integration|null $initialIntegration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, Integration $integration, Integration $initialIntegration = null) { $filter = ['name' => $initialIntegration !== null && !$integration->hasData('name') ? $initialIntegration->getName() : $integration->getName()]; $integrationIndexPage->open(); \PHPUnit_Framework_Assert::assertTrue($integrationIndexPage->getIntegrationGrid()->isRowVisible($filter), 'Integration \'' . $filter['name'] . '\' is absent in Integration grid.'); }
/** * Assert that success reauthorize message is appeared on the Integrations page. * * @param IntegrationIndex $integrationIndexPage * @param Integration $integration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, Integration $integration) { \PHPUnit_Framework_Assert::assertEquals(sprintf(self::SUCCESS_REAUTHORIZE_MESSAGE, $integration->getName()), $integrationIndexPage->getMessagesBlock()->getSuccessMessage(), "Wrong success message is displayed."); }
/** * Assert error message is displayed in message block. * * @param IntegrationIndex $integrationIndexPage * @param Integration $integration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, Integration $integration) { $expectedMessage = sprintf(self::ERROR_DUPLICATE_INTEGRATION_NAME, $integration->getName()); $actualMessage = $integrationIndexPage->getMessagesBlock()->getErrorMessages(); \PHPUnit_Framework_Assert::assertEquals($expectedMessage, $actualMessage, 'Wrong error message is displayed.' . "\nExpected: " . $expectedMessage . "\nActual: " . $actualMessage); }