/** * Create Integration Entity test. * * @param Integration $integration * @return void */ public function test(Integration $integration) { // Steps $this->integrationIndexPage->open(); $this->integrationIndexPage->getGridPageActions()->addNew(); $this->integrationNewPage->getIntegrationForm()->fill($integration); $this->integrationNewPage->getFormPageActions()->saveNew(); }
/** * Assert no alert when saving an integration. * * @param IntegrationNew $integrationNew * @return void */ public function processAssert(IntegrationNew $integrationNew) { $isAlertPresent = $integrationNew->getFormPageActions()->isAlertPresent(); if ($isAlertPresent) { $integrationNew->getFormPageActions()->acceptAlert(); } \PHPUnit_Framework_Assert::assertFalse($isAlertPresent, 'Saving an integration should not cause alert.'); }
/** * 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)); }
/** * Assert that integration form filled correctly * * @param IntegrationIndex $integrationIndexPage * @param IntegrationNew $integrationNewPage * @param Integration $integration * @param Integration|null $initialIntegration * @return void */ public function processAssert(IntegrationIndex $integrationIndexPage, IntegrationNew $integrationNewPage, Integration $integration, Integration $initialIntegration = null) { $data = $initialIntegration === null ? $integration->getData() : array_merge($initialIntegration->getData(), $integration->getData()); $filter = ['name' => $data['name']]; $integrationIndexPage->open(); $integrationIndexPage->getIntegrationGrid()->searchAndOpen($filter); $formData = $integrationNewPage->getIntegrationForm()->getData(); $dataDiff = $this->verifyForm($formData, $data); \PHPUnit_Framework_Assert::assertEmpty($dataDiff, 'Integration form was filled incorrectly.' . "\nLog:\n" . implode(";\n", $dataDiff)); }
/** * Create Integration Entity with existing name test. * * @param Integration $integration * @return array */ public function test(Integration $integration) { // Precondition $integration->persist(); // Steps $this->integrationIndexPage->open(); $this->integrationIndexPage->getGridPageActions()->addNew(); $this->integrationNewPage->getIntegrationForm()->fill($integration); $this->integrationNewPage->getFormPageActions()->saveNew(); return ['integration' => $integration]; }
/** * 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(); }
/** * Assert validation error generated when saving integration with invalid email. * * @param IntegrationNew $integrationNew * @param Integration $integration * @return void */ public function processAssert(IntegrationNew $integrationNew, Integration $integration) { $errors = $integrationNew->getIntegrationForm()->getJsErrors("integration_info"); $emailJsError = false; foreach ($errors as $error) { if (strpos($error, 'Please enter a valid email address') !== false) { $emailJsError = true; break; } } \PHPUnit_Framework_Assert::assertTrue($emailJsError, 'Failed to validate email address (' . $integration->getEmail() . ') when saving integration.'); }
/** * Run Lock user when creating new integration test. * * @param Integration $integration * @param int $attempts * @param User $customAdmin * @param string $configData * @return void */ public function test(Integration $integration, $attempts, User $customAdmin, $configData = null) { $this->configData = $configData; // Preconditions $this->objectManager->create('Magento\\Config\\Test\\TestStep\\SetupConfigurationStep', ['configData' => $this->configData])->run(); $customAdmin->persist(); $this->adminAuthLogin->open(); $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); $this->adminAuthLogin->getLoginBlock()->submit(); // Steps $this->integrationIndexPage->open(); $this->integrationIndexPage->getGridPageActions()->addNew(); for ($i = 0; $i < $attempts; $i++) { $this->integrationNewPage->getIntegrationForm()->fill($integration); $this->integrationNewPage->getFormPageActions()->saveNew(); } // Reload page $this->adminAuthLogin->open(); $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); $this->adminAuthLogin->getLoginBlock()->submit(); }