Skip to content

Commit

Permalink
[ECP-8888] Update unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Can Demiralp committed Feb 20, 2025
1 parent 47ecce1 commit 364d6e6
Showing 1 changed file with 62 additions and 8 deletions.
70 changes: 62 additions & 8 deletions Test/Unit/Helper/OpenInvoiceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,14 @@ protected function setUp(): void

# Other mock property definitions
$this->orderMock = $this->createMock(Order::class);
$this->itemMock = $this->createMock(Item::class);
$this->itemMock = $this->createGeneratedMock(Item::class,
['getIsVirtual', 'getQty', 'getProduct', 'getName', 'getSku', 'getTaxPercent']
);
$this->productMock = $this->createMock(Product::class);
$this->invoiceMock = $this->createMock(Invoice::class);
$this->orderItemMock = $this->createMock(Order\Item::class);
$this->orderItemMock = $this->createGeneratedMock(Order\Item::class,
['getIsVirtual', 'getQty', 'getProduct', 'getName', 'getSku', 'getTaxPercent']
);
$this->invoiceItemMock = $this->createMock(Invoice\Item::class);
$this->creditmemoMock = $this->createMock(Creditmemo::class);
$this->creditmemoItemMock = $this->createMock(Creditmemo\Item::class);
Expand All @@ -60,7 +64,13 @@ protected function setUp(): void
$this->shippingAmountCurrencyMock = $this->createMock(AdyenAmountCurrency::class);
}

public function testGetOpenInvoiceDataFomOrder(): void
/**
* @dataProvider isVirtualDataProvider()
*
* @param bool $isVirtual
* @return void
*/
public function testGetOpenInvoiceDataFomOrder(bool $isVirtual): void
{
$openInvoice = new OpenInvoice(
$this->adyenHelperMock,
Expand All @@ -80,6 +90,8 @@ public function testGetOpenInvoiceDataFomOrder(): void
$this->itemMock->method('getQty')->willReturn(1);
$this->itemMock->method('getProduct')->willReturn($this->productMock);
$this->itemMock->method('getName')->willReturn('Push It Messenger Bag');
$this->itemMock->method('getSku')->willReturn('24-WB04');
$this->itemMock->method('getIsVirtual')->willReturn($isVirtual);

$this->cartMock->method('getShippingAddress')->willReturn($this->shippingAddressMock);
$this->cartMock->method('getAllVisibleItems')->willReturn([$this->itemMock]);
Expand Down Expand Up @@ -118,10 +130,15 @@ public function getUrl()
[
'id' => '14',
'amountIncludingTax' => 10000,
'amountExcludingTax' => 10000,
'taxAmount' => 0,
'taxPercentage' => 0,
'description' => 'Push It Messenger Bag',
'sku' => '24-WB04',
'itemCategory' => $isVirtual ?
OpenInvoice::ITEM_CATEGORY_DIGITAL_GOODS :
OpenInvoice::ITEM_CATEGORY_PHYSICAL_GOODS,
'quantity' => 1,
'taxPercentage' => 0,
'productUrl' => 'https://localhost.store/index.php/push-it-messenger-bag.html',
'imageUrl' => '',
],
Expand All @@ -140,7 +157,13 @@ public function getUrl()
$this->assertEquals($expectedResult, $result);
}

public function testGetOpenInvoiceDataForLastInvoice(): void
/**
* @dataProvider isVirtualDataProvider()
*
* @param bool $isVirtual
* @return void
*/
public function testGetOpenInvoiceDataForLastInvoice(bool $isVirtual): void
{
$itemAmountCurrencyMock = $this->createMock(AdyenAmountCurrency::class);
$itemAmountCurrencyMock->method('getAmountIncludingTax')->willReturn(121.00);
Expand All @@ -157,6 +180,8 @@ public function getUrl()
$this->orderItemMock->method('getProduct')->willReturn($this->productMock);
$this->orderItemMock->method('getName')->willReturn('Push It Messenger Bag');
$this->orderItemMock->method('getTaxPercent')->willReturn(21);
$this->orderItemMock->method('getSku')->willReturn('24-WB04');
$this->orderItemMock->method('getIsVirtual')->willReturn($isVirtual);

$this->invoiceItemMock->method('getOrderItem')->willReturn($this->orderItemMock);
$this->invoiceItemMock->method('getQty')->willReturn(1);
Expand Down Expand Up @@ -186,10 +211,15 @@ public function getUrl()
[
'id' => '14',
'amountIncludingTax' => 12100,
'amountExcludingTax' => 10000,
'taxAmount' => 2100,
'taxPercentage' => 2100,
'description' => 'Push It Messenger Bag',
'sku' => '24-WB04',
'itemCategory' => $isVirtual ?
OpenInvoice::ITEM_CATEGORY_DIGITAL_GOODS :
OpenInvoice::ITEM_CATEGORY_PHYSICAL_GOODS,
'quantity' => 1,
'taxPercentage' => 2100,
'productUrl' => 'https://localhost.store/index.php/push-it-messenger-bag.html',
'imageUrl' => '',
],
Expand All @@ -208,7 +238,13 @@ public function getUrl()
$this->assertEquals($expectedResult, $result);
}

public function testGetOpenInvoiceDataForCreditMemo(): void
/**
* @dataProvider isVirtualDataProvider()
*
* @param bool $isVirtual
* @return void
*/
public function testGetOpenInvoiceDataForCreditMemo(bool $isVirtual): void
{
$this->creditmemoMock->method('getItems')->willReturn([$this->creditmemoItemMock]);
$this->creditmemoMock->method('getShippingAmount')->willReturn(50);
Expand All @@ -220,6 +256,8 @@ public function testGetOpenInvoiceDataForCreditMemo(): void
$this->orderItemMock->method('getName')->willReturn('Push It Messenger Bag');
$this->orderItemMock->method('getProduct')->willReturn($this->productMock);
$this->orderItemMock->method('getTaxPercent')->willReturn(0);
$this->orderItemMock->method('getSku')->willReturn('24-WB04');
$this->orderItemMock->method('getIsVirtual')->willReturn($isVirtual);

$itemAmountCurrencyMock = $this->createMock(AdyenAmountCurrency::class);
$itemAmountCurrencyMock->method('getAmountIncludingTax')->willReturn(45);
Expand Down Expand Up @@ -256,10 +294,15 @@ public function getUrl()
[
'id' => '14',
'amountIncludingTax' => 4500,
'amountExcludingTax' => 4500,
'taxAmount' => 0,
'taxPercentage' => 0,
'description' => 'Push It Messenger Bag',
'sku' => '24-WB04',
'itemCategory' => $isVirtual ?
OpenInvoice::ITEM_CATEGORY_DIGITAL_GOODS :
OpenInvoice::ITEM_CATEGORY_PHYSICAL_GOODS,
'quantity' => 1,
'taxPercentage' => 0,
'productUrl' => 'https://localhost.store/index.php/push-it-messenger-bag.html',
'imageUrl' => ''
],
Expand All @@ -277,4 +320,15 @@ public function getUrl()

$this->assertEquals($expectedResult, $result);
}

/**
* @return array
*/
private static function isVirtualDataProvider(): array
{
return [
['isVirtual' => true],
['isVirtual' => false]
];
}
}

0 comments on commit 364d6e6

Please sign in to comment.