Skip to content

Commit 1fddb55

Browse files
authored
Merge pull request #136 from aligent/fix/134-errant-delete-method
Fix/134 errant delete method
2 parents 2d4d924 + 64ffc91 commit 1fddb55

3 files changed

Lines changed: 31 additions & 2 deletions

File tree

src/BigCommerce/BaseApiClient.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,9 @@ public function printDebugLastRequest()
9494
}
9595

9696
abstract protected function defaultBaseUrl(): string;
97+
98+
public function getDebugContainer(): array
99+
{
100+
return $this->debugContainer;
101+
}
97102
}

tests/BigCommerce/Api/Catalog/Products/VariantsApiTest.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ public function testCanGetProductVariant(): void
2525
$variantResponse = $this->getApi()->catalog()->product($productId)->variant($variantId)->get();
2626
$this->assertEquals($productId, $variantResponse->getProductVariant()->product_id);
2727
$this->assertEquals($variantId, $variantResponse->getProductVariant()->id);
28+
29+
$this->assertEquals("catalog/products/$productId/variants/$variantId", $this->getLastRequestPath());
30+
$this->assertEquals('GET', $this->getLastRequest()->getMethod());
31+
32+
$methods = array_map(function ($r) {
33+
return $r['request']->getMethod();
34+
}, $this->getRequestHistory());
35+
36+
$this->assertNotContains('DELETE', $methods);
37+
$this->assertNotContains('PUT', $methods);
38+
$this->assertNotContains('POST', $methods);
2839
}
2940

3041
public function testCanGetAllProductVariants(): void
@@ -36,4 +47,17 @@ public function testCanGetAllProductVariants(): void
3647
$this->assertEquals(3, $variantsResponse->getPagination()->total);
3748
$this->assertCount(3, $variantsResponse->getProductVariants());
3849
}
50+
51+
public function testCanDeleteProductVariant(): void
52+
{
53+
$this->setReturnData(self::EMPTY_RESPONSE, 204);
54+
55+
$productId = 192;
56+
$variantId = 384;
57+
58+
$this->getApi()->catalog()->product($productId)->variant($variantId)->delete();
59+
60+
$this->assertEquals("catalog/products/$productId/variants/$variantId", $this->getLastRequestPath());
61+
$this->assertEquals('DELETE', $this->getLastRequest()->getMethod());
62+
}
3963
}

tests/BigCommerce/BigCommerceApiTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ public function getRequestHistory(): array
6363
return $this->container;
6464
}
6565

66-
public function getLastRequest(): Request
66+
public function getLastRequest(): ?Request
6767
{
68-
return end($this->container)['request'];
68+
return empty($this->container) ? null : end($this->container)['request'];
6969
}
7070

7171
public function getLastRequestPath(): string

0 commit comments

Comments
 (0)