repositoryMock = $this->getMockBuilder(\Magento\GiftMessage\Model\ItemRepository::class) ->disableOriginalConstructor() ->getMock(); $this->quoteIdMaskFactoryMock = $this->getMockBuilder(\Magento\Quote\Model\QuoteIdMaskFactory::class) ->disableOriginalConstructor() ->setMethods(['create']) ->getMockForAbstractClass(); $this->model = new GuestItemRepository( $this->repositoryMock, $this->quoteIdMaskFactoryMock ); } public function testGet() { $cartId = 'jIUggbo76'; $quoteId = 123; $itemId = 234; /** @var QuoteIdMask|\PHPUnit_Framework_MockObject_MockObject $quoteIdMaskMock */ $quoteIdMaskMock = $this->getMockBuilder(\Magento\Quote\Model\QuoteIdMask::class) ->setMethods(['getQuoteId', 'load']) ->disableOriginalConstructor() ->getMock(); $this->quoteIdMaskFactoryMock->expects($this->once()) ->method('create') ->willReturn($quoteIdMaskMock); $quoteIdMaskMock->expects($this->once()) ->method('load') ->with($cartId, 'masked_id') ->willReturnSelf(); $quoteIdMaskMock->expects($this->once()) ->method('getQuoteId') ->willReturn($quoteId); /** @var MessageInterface|\PHPUnit_Framework_MockObject_MockObject $messageMock */ $messageMock = $this->getMockBuilder(\Magento\GiftMessage\Api\Data\MessageInterface::class) ->getMockForAbstractClass(); $this->repositoryMock->expects($this->once()) ->method('get') ->with($quoteId, $itemId) ->willReturn($messageMock); $this->assertEquals($messageMock, $this->model->get($cartId, $itemId)); } public function testSave() { $cartId = 'jIUggbo76'; $quoteId = 123; $itemId = 234; /** @var QuoteIdMask|\PHPUnit_Framework_MockObject_MockObject $quoteIdMaskMock */ $quoteIdMaskMock = $this->getMockBuilder(\Magento\Quote\Model\QuoteIdMask::class) ->setMethods(['getQuoteId', 'load']) ->disableOriginalConstructor() ->getMock(); $this->quoteIdMaskFactoryMock->expects($this->once()) ->method('create') ->willReturn($quoteIdMaskMock); $quoteIdMaskMock->expects($this->once()) ->method('load') ->with($cartId, 'masked_id') ->willReturnSelf(); $quoteIdMaskMock->expects($this->once()) ->method('getQuoteId') ->willReturn($quoteId); /** @var MessageInterface|\PHPUnit_Framework_MockObject_MockObject $messageMock */ $messageMock = $this->getMockBuilder(\Magento\GiftMessage\Api\Data\MessageInterface::class) ->getMockForAbstractClass(); $this->repositoryMock->expects($this->once()) ->method('save') ->with($quoteId, $messageMock, $itemId) ->willReturn(true); $this->assertTrue($this->model->save($cartId, $messageMock, $itemId)); } }