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