Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

Commit af4b258

Browse files
author
vitaliyboyko
committed
graphql-ce-120: added api functional test
1 parent 5229cd6 commit af4b258

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\GraphQl\Store;
9+
10+
use Magento\Store\Api\Data\StoreConfigInterface;
11+
use Magento\Store\Api\StoreConfigManagerInterface;
12+
use Magento\TestFramework\ObjectManager;
13+
use Magento\TestFramework\TestCase\GraphQlAbstract;
14+
15+
/**
16+
* Test the GraphQL endpoint's StoreConfigs query
17+
*/
18+
class StoreConfigsResolverTest extends GraphQlAbstract
19+
{
20+
21+
/** @var ObjectManager */
22+
private $objectManager;
23+
24+
protected function setUp()
25+
{
26+
$this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
27+
}
28+
29+
/**
30+
* @magentoApiDataFixture Magento/Store/_files/store.php
31+
*/
32+
public function testStoreConfigsFilteredByStoreCode()
33+
{
34+
$storeCode = 'test';
35+
/** @var StoreConfigManagerInterface $storeConfigsManager */
36+
$storeConfigsManager = $this->objectManager->get(StoreConfigManagerInterface::class);
37+
/** @var StoreConfigInterface $storeConfig */
38+
$storeConfig = current($storeConfigsManager->getStoreConfigs([$storeCode]));
39+
$query
40+
= <<<QUERY
41+
{
42+
storeConfigs(storeCodes: "{$storeCode}"){
43+
items{
44+
id,
45+
code,
46+
website_id,
47+
locale,
48+
base_currency_code,
49+
default_display_currency_code,
50+
timezone,
51+
weight_unit,
52+
base_url,
53+
base_link_url,
54+
base_static_url,
55+
base_media_url,
56+
secure_base_url,
57+
secure_base_link_url,
58+
secure_base_static_url,
59+
secure_base_media_url
60+
}
61+
}
62+
}
63+
QUERY;
64+
$response = $this->graphQlQuery($query);
65+
$this->assertArrayHasKey('storeConfigs', $response);
66+
$this->assertEquals(1, count($response['storeConfigs']['items']));
67+
$responseStoreConfig = current($response['storeConfigs']['items']);
68+
$this->assertEquals($storeConfig->getId(), $responseStoreConfig['id']);
69+
$this->assertEquals($storeConfig->getCode(), $responseStoreConfig['code']);
70+
$this->assertEquals($storeConfig->getLocale(), $responseStoreConfig['locale']);
71+
$this->assertEquals($storeConfig->getBaseCurrencyCode(), $responseStoreConfig['base_currency_code']);
72+
$this->assertEquals(
73+
$storeConfig->getDefaultDisplayCurrencyCode(),
74+
$responseStoreConfig['default_display_currency_code']
75+
);
76+
$this->assertEquals($storeConfig->getTimezone(), $responseStoreConfig['timezone']);
77+
$this->assertEquals($storeConfig->getWeightUnit(), $responseStoreConfig['weight_unit']);
78+
$this->assertEquals($storeConfig->getBaseUrl(), $responseStoreConfig['base_url']);
79+
$this->assertEquals($storeConfig->getBaseLinkUrl(), $responseStoreConfig['base_link_url']);
80+
$this->assertEquals($storeConfig->getBaseStaticUrl(), $responseStoreConfig['base_static_url']);
81+
$this->assertEquals($storeConfig->getBaseMediaUrl(), $responseStoreConfig['base_media_url']);
82+
$this->assertEquals($storeConfig->getSecureBaseUrl(), $responseStoreConfig['secure_base_url']);
83+
$this->assertEquals($storeConfig->getSecureBaseLinkUrl(), $responseStoreConfig['secure_base_link_url']);
84+
$this->assertEquals($storeConfig->getSecureBaseStaticUrl(), $responseStoreConfig['secure_base_static_url']);
85+
$this->assertEquals($storeConfig->getSecureBaseMediaUrl(), $responseStoreConfig['secure_base_media_url']);
86+
}
87+
88+
/**
89+
* @magentoApiDataFixture Magento/Store/_files/store.php
90+
*/
91+
public function testGetStoreConfigsWithoutStoreCodes()
92+
{
93+
$query
94+
= <<<QUERY
95+
{
96+
storeConfigs{
97+
items{
98+
id
99+
}
100+
}
101+
}
102+
QUERY;
103+
$response = $this->graphQlQuery($query);
104+
$this->assertArrayHasKey('storeConfigs', $response);
105+
$this->assertEquals(2, count($response['storeConfigs']['items']));
106+
}
107+
}

0 commit comments

Comments
 (0)