Skip to content

Commit d64fc20

Browse files
committed
Adding more assertions to the update subscription functional test
1 parent 50fbe2a commit d64fc20

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

test/functional/BitPaySDK/SubscriptionClientTest.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,45 @@ public function testUpdateSubscription(): void
6565
{
6666
$subscription = $this->getSubscriptionExample();
6767
$subscription = $this->client->createSubscription($subscription);
68+
69+
// Store original values for comparison after update
70+
$originalId = $subscription->getId();
71+
$originalStatus = $subscription->getStatus();
72+
$originalCurrency = $subscription->getBillData()->getCurrency();
73+
$originalNumber = $subscription->getBillData()->getNumber();
74+
6875
$subscription = $this->client->getSubscription($subscription->getId());
6976

77+
// Update multiple fields
7078
$bill = $subscription->getBillData();
7179
$bill->setEmail("[email protected]");
80+
$bill->setName("Updated Company Name");
81+
$bill->setCC(["[email protected]"]);
82+
$bill->setPhone("555-0100");
83+
84+
// Update an item price
85+
$items = $bill->getItems();
86+
$items[0]->setPrice(5.0); // Change first item price from 3.0 to 5.0
87+
$bill->setItems($items);
88+
7289
$subscription->setBillData($bill);
7390

7491
$subscription = $this->client->updateSubscription($subscription, $subscription->getId());
7592

93+
// Assert updated fields
7694
self::assertEquals("[email protected]", $subscription->getBillData()->getEmail());
95+
self::assertEquals("Updated Company Name", $subscription->getBillData()->getName());
96+
self::assertEquals(["[email protected]"], $subscription->getBillData()->getCc());
97+
self::assertEquals("555-0100", $subscription->getBillData()->getPhone());
98+
self::assertEquals(5.0, $subscription->getBillData()->getItems()[0]->getPrice());
99+
100+
// Assert that other important fields weren't changed
101+
self::assertEquals($originalId, $subscription->getId(), "Subscription ID should not change after update");
102+
self::assertEquals($originalStatus, $subscription->getStatus(), "Subscription status should not change");
103+
self::assertEquals($originalCurrency, $subscription->getBillData()->getCurrency(), "Currency should not change");
104+
self::assertEquals($originalNumber, $subscription->getBillData()->getNumber(), "Bill number should be preserved");
105+
self::assertEquals(2, count($subscription->getBillData()->getItems()), "Item count should be preserved");
106+
self::assertEquals(2, $subscription->getBillData()->getItems()[0]->getQuantity(), "Item quantity should be preserved");
77107
}
78108

79109
private function getSubscriptionExample(): Subscription

0 commit comments

Comments
 (0)