StoreConfigResolverTest.php 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\GraphQl\Store;
  8. use Magento\Store\Api\Data\StoreConfigInterface;
  9. use Magento\Store\Api\StoreConfigManagerInterface;
  10. use Magento\Store\Api\StoreRepositoryInterface;
  11. use Magento\Store\Api\StoreResolverInterface;
  12. use Magento\TestFramework\ObjectManager;
  13. use Magento\TestFramework\TestCase\GraphQlAbstract;
  14. /**
  15. * Test the GraphQL endpoint's StoreConfigs query
  16. */
  17. class StoreConfigResolverTest extends GraphQlAbstract
  18. {
  19. /** @var ObjectManager */
  20. private $objectManager;
  21. protected function setUp()
  22. {
  23. $this->markTestIncomplete('https://github.com/magento/graphql-ce/issues/167');
  24. $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  25. }
  26. /**
  27. * @magentoApiDataFixture Magento/Store/_files/store.php
  28. */
  29. public function testGetStoreConfig()
  30. {
  31. /** @var StoreConfigManagerInterface $storeConfigsManager */
  32. $storeConfigsManager = $this->objectManager->get(StoreConfigManagerInterface::class);
  33. /** @var StoreResolverInterface $storeResolver */
  34. $storeResolver = $this->objectManager->get(StoreResolverInterface::class);
  35. /** @var StoreRepositoryInterface $storeRepository */
  36. $storeRepository = $this->objectManager->get(StoreRepositoryInterface::class);
  37. $storeId = $storeResolver->getCurrentStoreId();
  38. $store = $storeRepository->getById($storeId);
  39. /** @var StoreConfigInterface $storeConfig */
  40. $storeConfig = current($storeConfigsManager->getStoreConfigs([$store->getCode()]));
  41. $query
  42. = <<<QUERY
  43. {
  44. storeConfig{
  45. id,
  46. code,
  47. website_id,
  48. locale,
  49. base_currency_code,
  50. default_display_currency_code,
  51. timezone,
  52. weight_unit,
  53. base_url,
  54. base_link_url,
  55. base_static_url,
  56. base_media_url,
  57. secure_base_url,
  58. secure_base_link_url,
  59. secure_base_static_url,
  60. secure_base_media_url
  61. }
  62. }
  63. QUERY;
  64. $response = $this->graphQlQuery($query);
  65. $this->assertArrayHasKey('storeConfig', $response);
  66. $this->assertEquals($storeConfig->getId(), $response['storeConfig']['id']);
  67. $this->assertEquals($storeConfig->getCode(), $response['storeConfig']['code']);
  68. $this->assertEquals($storeConfig->getLocale(), $response['storeConfig']['locale']);
  69. $this->assertEquals($storeConfig->getBaseCurrencyCode(), $response['storeConfig']['base_currency_code']);
  70. $this->assertEquals(
  71. $storeConfig->getDefaultDisplayCurrencyCode(),
  72. $response['storeConfig']['default_display_currency_code']
  73. );
  74. $this->assertEquals($storeConfig->getTimezone(), $response['storeConfig']['timezone']);
  75. $this->assertEquals($storeConfig->getWeightUnit(), $response['storeConfig']['weight_unit']);
  76. $this->assertEquals($storeConfig->getBaseUrl(), $response['storeConfig']['base_url']);
  77. $this->assertEquals($storeConfig->getBaseLinkUrl(), $response['storeConfig']['base_link_url']);
  78. $this->assertEquals($storeConfig->getBaseStaticUrl(), $response['storeConfig']['base_static_url']);
  79. $this->assertEquals($storeConfig->getBaseMediaUrl(), $response['storeConfig']['base_media_url']);
  80. $this->assertEquals($storeConfig->getSecureBaseUrl(), $response['storeConfig']['secure_base_url']);
  81. $this->assertEquals($storeConfig->getSecureBaseLinkUrl(), $response['storeConfig']['secure_base_link_url']);
  82. $this->assertEquals(
  83. $storeConfig->getSecureBaseStaticUrl(),
  84. $response['storeConfig']['secure_base_static_url']
  85. );
  86. $this->assertEquals($storeConfig->getSecureBaseMediaUrl(), $response['storeConfig']['secure_base_media_url']);
  87. }
  88. }