Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/dev/tests/api-functional/testsuite/Magento/GraphQl/SendFriend/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/dev/tests/api-functional/testsuite/Magento/GraphQl/SendFriend/StoreConfigTest.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\GraphQl\SendFriend;

use Magento\TestFramework\TestCase\GraphQlAbstract;

/**
 * Test SendFriend configuration resolves correctly in StoreConfig
 */
class StoreConfigTest extends GraphQlAbstract
{
    public function testSendFriendFieldsAreReturnedWithoutError()
    {
        $query = $this->getStoreConfigQuery();

        $response = $this->graphQlQuery($query);
        $this->assertArrayNotHasKey('errors', $response);
        $this->assertArrayHasKey('send_friend', $response['storeConfig']);
        $this->assertArrayHasKey('enabled_for_customers', $response['storeConfig']['send_friend']);
        $this->assertArrayHasKey('enabled_for_guests', $response['storeConfig']['send_friend']);
        $this->assertNotNull($response['storeConfig']['send_friend']['enabled_for_customers']);
        $this->assertNotNull($response['storeConfig']['send_friend']['enabled_for_guests']);
    }

    /**
     * @magentoConfigFixture default_store sendfriend/email/enabled 0
     */
    public function testSendFriendDisabled()
    {
        $response = $this->graphQlQuery($this->getStoreConfigQuery());

        $this->assertResponse(
            ['enabled_for_customers' => false, 'enabled_for_guests' => false],
            $response
        );
    }

    /**
     * @magentoConfigFixture default_store sendfriend/email/enabled 1
     * @magentoConfigFixture default_store sendfriend/email/allow_guest 0
     */
    public function testSendFriendEnabledGuestDisabled()
    {
        $response = $this->graphQlQuery($this->getStoreConfigQuery());

        $this->assertResponse(
            ['enabled_for_customers' => true, 'enabled_for_guests' => false],
            $response
        );
    }

    /**
     * @magentoConfigFixture default_store sendfriend/email/enabled 1
     * @magentoConfigFixture default_store sendfriend/email/allow_guest 1
     */
    public function testSendFriendEnabledGuestEnabled()
    {
        $response = $this->graphQlQuery($this->getStoreConfigQuery());

        $this->assertResponse(
            ['enabled_for_customers' => true, 'enabled_for_guests' => true],
            $response
        );
    }

    /**
     * Assert response matches expected output
     *
     * @param array $expectedValues
     * @param array $response
     */
    private function assertResponse(array $expectedValues, array $response)
    {
        $this->assertArrayNotHasKey(
            'errors',
            $response
        );
        $this->assertArrayHasKey(
            'send_friend',
            $response['storeConfig']
        );
        $this->assertArrayHasKey(
            'enabled_for_customers',
            $response['storeConfig']['send_friend']
        );
        $this->assertArrayHasKey(
            'enabled_for_guests',
            $response['storeConfig']['send_friend']
        );
        $this->assertEquals(
            $expectedValues['enabled_for_customers'],
            $response['storeConfig']['send_friend']['enabled_for_customers']
        );
        $this->assertEquals(
            $expectedValues['enabled_for_guests'],
            $response['storeConfig']['send_friend']['enabled_for_guests']
        );
    }

    /**
     * Return simple storeConfig query to get sendFriend configuration
     *
     * @return string
     */
    private function getStoreConfigQuery()
    {
        return <<<QUERY
{
    storeConfig{
        id
        send_friend {
            enabled_for_customers
            enabled_for_guests
        }
    }
}
QUERY;
    }
}

Spamworldpro Mini