@@ -522,6 +522,39 @@ private function getHeaderMap(string $username = 'customer@example.com', string
522522 return $ headerMap ;
523523 }
524524
525+ #[
526+ Config('carriers/flatrate/active ' , '1 ' , 'store ' , 'default ' ),
527+ Config('payment/checkmo/active ' , '1 ' , 'store ' , 'default ' ),
528+ DataFixture(ProductFixture::class, as: 'product ' ),
529+ DataFixture(Indexer::class, as: 'indexer ' ),
530+ DataFixture(Customer::class, ['email ' => 'customer@example.com ' ], as: 'customer ' ),
531+ DataFixture(
532+ CustomerCart::class,
533+ [
534+ 'customer_id ' => '$customer.id$ ' ,
535+ 'reserved_order_id ' => 'test_quote '
536+ ],
537+ 'cart '
538+ ),
539+ DataFixture(AddProductToCartFixture::class, ['cart_id ' => '$cart.id$ ' , 'product_id ' => '$product.id$ ' ]),
540+ DataFixture(SetShippingAddressFixture::class, ['cart_id ' => '$cart.id$ ' ]),
541+ DataFixture(SetBillingAddressFixture::class, ['cart_id ' => '$cart.id$ ' ]),
542+ DataFixture(SetDeliveryMethodFixture::class, ['cart_id ' => '$cart.id$ ' ]),
543+ DataFixture(SetPaymentMethodFixture::class, ['cart_id ' => '$cart.id$ ' ]),
544+ DataFixture(QuoteIdMask::class, ['cart_id ' => '$cart.id$ ' ], 'quoteIdMask ' ),
545+ Config('carriers/flatrate/active ' , '0 ' , 'store ' , 'default ' ),
546+ ]
547+ public function testPlaceOrderWithDisabledShippingMethod ()
548+ {
549+ $ maskedQuoteId = DataFixtureStorageManager::getStorage ()->get ('quoteIdMask ' )->getMaskedId ();
550+ $ query = $ this ->getQuery ($ maskedQuoteId );
551+
552+ self ::expectExceptionMessage (
553+ 'Unable to place order: The shipping method is missing. Select the shipping method and try again '
554+ );
555+ $ this ->graphQlMutation ($ query , [], '' , $ this ->getHeaderMap ());
556+ }
557+
525558 /**
526559 * @inheritdoc
527560 */
0 commit comments