![]() 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/vendor/magento/module-quote/Test/Unit/Model/Quote/Address/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Quote\Test\Unit\Model\Quote\Address; use Magento\Directory\Model\Country; use Magento\Directory\Model\CountryFactory; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Quote\Model\Quote\Address; use Magento\Quote\Model\Quote\Address\Validator; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class ValidatorTest extends TestCase { /** * @var Validator */ protected $model; /** * @var MockObject */ protected $countryFactoryMock; /** * @var MockObject */ protected $itemMock; /** * @var MockObject */ protected $countryMock; protected function setUp(): void { $objectManager = new ObjectManager($this); $this->countryFactoryMock = $this->createMock(CountryFactory::class); $this->countryMock = $this->createMock(Country::class); $this->itemMock = $this->createPartialMock( Address::class, ['getCountryId', 'getEmail'] ); $this->countryFactoryMock ->expects($this->any()) ->method('create') ->willReturn($this->countryMock); $this->model = $objectManager->getObject( Validator::class, [ 'countryFactory' => $this->countryFactoryMock, ] ); } public function testValidateWithEmptyObject() { $this->itemMock->expects($this->once())->method('getEmail')->willReturn(null); $this->itemMock->expects($this->once())->method('getCountryId')->willReturn(null); $this->assertTrue($this->model->isValid($this->itemMock)); $this->assertEmpty($this->model->getMessages()); } public function testValidateWithInvalidEmail() { $this->itemMock->expects($this->once())->method('getEmail')->willReturn('invalid_email'); $this->itemMock->expects($this->once())->method('getCountryId')->willReturn(null); $this->assertFalse($this->model->isValid($this->itemMock)); $messages = ['invalid_email_format' => 'Invalid email format']; $this->assertEquals($messages, $this->model->getMessages()); } public function testValidateWithInvalidCountryId() { $this->itemMock->expects($this->once())->method('getEmail')->willReturn(null); $this->itemMock->expects($this->once())->method('getCountryId')->willReturn(100); $this->countryMock->expects($this->once())->method('load')->with(100); $this->countryMock->expects($this->once())->method('getId')->willReturn(null); $this->assertFalse($this->model->isValid($this->itemMock)); $messages = ['invalid_country_code' => 'Invalid country code']; $this->assertEquals($messages, $this->model->getMessages()); } public function testValidateWithInvalidData() { $this->itemMock->expects($this->once())->method('getEmail')->willReturn('invalid_email'); $this->itemMock->expects($this->once())->method('getCountryId')->willReturn(100); $this->countryMock->expects($this->once())->method('load')->with(100); $this->countryMock->expects($this->once())->method('getId')->willReturn(null); $this->assertFalse($this->model->isValid($this->itemMock)); $messages = [ 'invalid_email_format' => 'Invalid email format', 'invalid_country_code' => 'Invalid country code', ]; $this->assertEquals($messages, $this->model->getMessages()); } public function testValidateWithValidData() { $this->itemMock->expects($this->once())->method('getEmail')->willReturn('[email protected]'); $this->itemMock->expects($this->once())->method('getCountryId')->willReturn(100); $this->countryMock->expects($this->once())->method('load')->with(100); $this->countryMock->expects($this->once())->method('getId')->willReturn(100); $this->assertTrue($this->model->isValid($this->itemMock)); $this->assertEmpty($this->model->getMessages()); } }