1010use Drupal \commerce_price \Price ;
1111use Drupal \profile \Entity \Profile ;
1212use Drupal \Tests \commerce \Kernel \CommerceKernelTestBase ;
13+ use Drupal \user \UserInterface ;
1314
1415/**
1516 * Tests the Order entity.
@@ -135,6 +136,7 @@ public function testOrder() {
135136 $ another_order_item ->save ();
136137 $ another_order_item = $ this ->reloadEntity ($ another_order_item );
137138
139+ /** @var \Drupal\commerce_order\Entity\OrderInterface $order */
138140 $ order = Order::create ([
139141 'type ' => 'default ' ,
140142 'state ' => 'completed ' ,
@@ -149,15 +151,22 @@ public function testOrder() {
149151 $ this ->assertEquals ($ this ->store ->id (), $ order ->getStoreId ());
150152 $ order ->setStoreId (0 );
151153 $ this ->assertEquals (NULL , $ order ->getStore ());
152- $ order ->setStoreId ([ $ this ->store ->id ()] );
154+ $ order ->setStoreId ($ this ->store ->id ());
153155 $ this ->assertEquals ($ this ->store , $ order ->getStore ());
154156 $ this ->assertEquals ($ this ->store ->id (), $ order ->getStoreId ());
155157
158+ $ this ->assertInstanceOf (UserInterface::class, $ order ->getCustomer ());
159+ $ this ->assertTrue ($ order ->getCustomer ()->isAnonymous ());
160+ $ this ->assertEquals (0 , $ order ->getCustomerId ());
156161 $ order ->setCustomer ($ this ->user );
157162 $ this ->assertEquals ($ this ->user , $ order ->getCustomer ());
158163 $ this ->assertEquals ($ this ->user ->id (), $ order ->getCustomerId ());
159- $ order ->setCustomerId (0 );
160- $ this ->assertEquals (NULL , $ order ->getCustomer ());
164+ $ this ->assertTrue ($ order ->getCustomer ()->isAuthenticated ());
165+ // Non-existent/deleted user ID.
166+ $ order ->setCustomerId (888 );
167+ $ this ->assertInstanceOf (UserInterface::class, $ order ->getCustomer ());
168+ $ this ->assertTrue ($ order ->getCustomer ()->isAnonymous ());
169+ $ this ->assertEquals (888 , $ order ->getCustomerId ());
161170 $ order ->setCustomerId ($ this ->user ->id ());
162171 $ this ->assertEquals ($ this ->user , $ order ->getCustomer ());
163172 $ this ->assertEquals ($ this ->user ->id (), $ order ->getCustomerId ());
@@ -241,6 +250,11 @@ public function testOrder() {
241250
242251 $ order ->setCompletedTime (635879900 );
243252 $ this ->assertEquals (635879900 , $ order ->getCompletedTime ());
253+
254+ // Confirm that saving the order clears an invalid customer ID.
255+ $ order ->setCustomerId (888 );
256+ $ order ->save ();
257+ $ this ->assertEquals (0 , $ order ->getCustomerId ());
244258 }
245259
246260 /**
0 commit comments