12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- /**
- * Refer to LICENSE.txt distributed with the Temando Shipping module for notice of license
- */
- namespace Temando\Shipping\ViewModel\Config;
- use Magento\TestFramework\Helper\Bootstrap;
- use Magento\TestFramework\Request;
- use Temando\Shipping\Model\Location;
- use Temando\Shipping\Model\LocationInterface;
- use Temando\Shipping\ViewModel\DataProvider\EntityUrlInterface;
- use Temando\Shipping\ViewModel\PageActionsInterface;
- use Temando\Shipping\ViewModel\ShippingApiInterface;
- /**
- * Temando Checkout Fields View Model Test
- *
- * @package Temando\Shipping\Test\Integration
- * @author Christoph Aßmann <christoph.assmann@netresearch.de>
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- * @link http://www.temando.com/
- */
- class CheckoutFieldsViewTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @test
- */
- public function backButtonIsAvailableInComponent()
- {
- /** @var CheckoutFields $viewModel */
- $viewModel = Bootstrap::getObjectManager()->get(CheckoutFields::class);
- $this->assertInstanceOf(PageActionsInterface::class, $viewModel);
- $actions = $viewModel->getMainActions();
- $this->assertNotEmpty($actions);
- $this->assertInternalType('array', $actions);
- $this->assertArrayHasKey('back', $actions);
- }
- /**
- * @test
- * @magentoConfigFixture default/carriers/temando/session_endpoint https://auth.temando.io/v1/
- * @magentoConfigFixture default/carriers/temando/sovereign_endpoint https://foo.temando.io/v1/
- */
- public function shippingApiCredentialsAreAvailableInLocationComponents()
- {
- /** @var CheckoutFields $viewModel */
- $viewModel = Bootstrap::getObjectManager()->get(CheckoutFields::class);
- $this->assertInstanceOf(ShippingApiInterface::class, $viewModel);
- $this->assertEquals('https://foo.temando.io/v1/', $viewModel->getShippingApiAccess()->getApiEndpoint());
- }
- /**
- * @test
- * @magentoAppArea adminhtml
- */
- public function getUpdateCheckoutFieldEndpoint()
- {
- /** @var CheckoutFields $viewModel */
- $viewModel = Bootstrap::getObjectManager()->get(CheckoutFields::class);
- $this->assertContains('temando/settings_checkout/save', $viewModel->getUpdateCheckoutFieldEndpoint());
- }
- /**
- * @test
- * @magentoAppArea adminhtml
- */
- public function getConfigUrl()
- {
- /** @var CheckoutFields $viewModel */
- $viewModel = Bootstrap::getObjectManager()->get(CheckoutFields::class);
- $url = $viewModel->getConfigurationPageUrl();
- $this->assertContains('system_config/edit', $url);
- $this->assertContains('carriers', $url);
- $this->assertContains('#carriers_temando-link', $url);
- }
- /**
- * @test
- * @magentoAppArea adminhtml
- * @magentoConfigFixture default/carriers/temando/additional_checkout_fields [{"foo": "bar"},{"fox": "baz"}]
- */
- public function getCheckoutFieldsData()
- {
- /** @var CheckoutFields $viewModel */
- $viewModel = Bootstrap::getObjectManager()->get(CheckoutFields::class);
- $fieldsData = $viewModel->getCheckoutFieldsData();
- $this->assertJson($fieldsData);
- $fields = json_decode($fieldsData);
- $this->assertInternalType('array', $fields);
- $this->assertCount(2, $fields);
- }
- }
|