salesEventQuoteMerge = $objectManger->getObject(SalesEventQuoteMerge::class); } /** * @dataProvider dataProviderGiftMessageId * * @param null|int $giftMessageId * * @return void */ public function testExecute($giftMessageId): void { $sourceQuoteMock = $this->createPartialMock(Quote::class, ['getGiftMessageId']); $sourceQuoteMock->expects($this->once()) ->method('getGiftMessageId') ->willReturn($giftMessageId); $targetQuoteMock = $this->createPartialMock(Quote::class, ['setGiftMessageId']); if ($giftMessageId) { $targetQuoteMock->expects($this->once()) ->method('setGiftMessageId'); } else { $targetQuoteMock->expects($this->never()) ->method('setGiftMessageId'); } $observer = $this->createMock(Observer::class); $observer->expects($this->exactly(2)) ->method('getData') ->willReturnMap([ ['quote', null, $targetQuoteMock], ['source', null, $sourceQuoteMock] ]); $this->salesEventQuoteMerge->execute($observer); } /** * @return array */ public function dataProviderGiftMessageId(): array { return [ [null], [1] ]; } }