10
10
use Drupal \commerce_price \Price ;
11
11
use Drupal \profile \Entity \Profile ;
12
12
use Drupal \Tests \commerce \Kernel \CommerceKernelTestBase ;
13
+ use Drupal \user \UserInterface ;
13
14
14
15
/**
15
16
* Tests the Order entity.
@@ -135,6 +136,7 @@ public function testOrder() {
135
136
$ another_order_item ->save ();
136
137
$ another_order_item = $ this ->reloadEntity ($ another_order_item );
137
138
139
+ /** @var \Drupal\commerce_order\Entity\OrderInterface $order */
138
140
$ order = Order::create ([
139
141
'type ' => 'default ' ,
140
142
'state ' => 'completed ' ,
@@ -149,15 +151,22 @@ public function testOrder() {
149
151
$ this ->assertEquals ($ this ->store ->id (), $ order ->getStoreId ());
150
152
$ order ->setStoreId (0 );
151
153
$ this ->assertEquals (NULL , $ order ->getStore ());
152
- $ order ->setStoreId ([ $ this ->store ->id ()] );
154
+ $ order ->setStoreId ($ this ->store ->id ());
153
155
$ this ->assertEquals ($ this ->store , $ order ->getStore ());
154
156
$ this ->assertEquals ($ this ->store ->id (), $ order ->getStoreId ());
155
157
158
+ $ this ->assertInstanceOf (UserInterface::class, $ order ->getCustomer ());
159
+ $ this ->assertTrue ($ order ->getCustomer ()->isAnonymous ());
160
+ $ this ->assertEquals (0 , $ order ->getCustomerId ());
156
161
$ order ->setCustomer ($ this ->user );
157
162
$ this ->assertEquals ($ this ->user , $ order ->getCustomer ());
158
163
$ 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 ());
161
170
$ order ->setCustomerId ($ this ->user ->id ());
162
171
$ this ->assertEquals ($ this ->user , $ order ->getCustomer ());
163
172
$ this ->assertEquals ($ this ->user ->id (), $ order ->getCustomerId ());
@@ -241,6 +250,11 @@ public function testOrder() {
241
250
242
251
$ order ->setCompletedTime (635879900 );
243
252
$ 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 ());
244
258
}
245
259
246
260
/**
0 commit comments