@@ -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