SignifydOrderSessionIdTest.php 1.63 KB
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Signifyd\Test\Unit\Model;

use Magento\Checkout\Model\Session as CheckoutSession;
use Magento\Framework\DataObject\IdentityGeneratorInterface;
use Magento\Signifyd\Model\SignifydOrderSessionId;
use PHPUnit_Framework_MockObject_MockObject as MockObject;

/**
 * Class SignifydOrderSessionIdTest tests that SignifydOrderSessionId class dependencies
 * follow the contracts.
 */
class SignifydOrderSessionIdTest extends \PHPUnit\Framework\TestCase
{
    /**
     * @var SignifydOrderSessionId
     */
    private $signifydOrderSessionId;

    /**
     * @var IdentityGeneratorInterface|MockObject
     */
    private $identityGenerator;

    /**
     * Sets up testing class and dependency mocks.
     */
    protected function setUp()
    {
        $this->identityGenerator = $this->getMockBuilder(IdentityGeneratorInterface::class)
            ->getMockForAbstractClass();

        $this->signifydOrderSessionId = new SignifydOrderSessionId($this->identityGenerator);
    }

    /**
     * Tests method by passing quoteId parameter
     *
     * @covers \Magento\Signifyd\Model\SignifydOrderSessionId::get
     */
    public function testGetByQuoteId()
    {
        $quoteId = 1;
        $signifydOrderSessionId = 'asdfzxcv';

        $this->identityGenerator->expects(self::once())
            ->method('generateIdForData')
            ->with($quoteId)
            ->willReturn($signifydOrderSessionId);

        $this->assertEquals(
            $signifydOrderSessionId,
            $this->signifydOrderSessionId->get($quoteId)
        );
    }
}