+
+
+ {{ 'checkoutReview.review' | cxTranslate }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ 'cartItems.cartTotal'
+ | cxTranslate: { count: cart.deliveryItemsQuantity }
+ }}:
+ {{ cart.totalPrice?.formattedValue }}
+
+
+ {{ 'checkoutReview.placeOrder' | cxTranslate }}
+
+
+
+
+
+
+
+
+
diff --git a/integration-libs/s4-service/checkout/components/checkout-review-submit/service-checkout-review-submit.component.spec.ts b/integration-libs/s4-service/checkout/components/checkout-review-submit/service-checkout-review-submit.component.spec.ts
new file mode 100644
index 00000000000..2a0cd47733e
--- /dev/null
+++ b/integration-libs/s4-service/checkout/components/checkout-review-submit/service-checkout-review-submit.component.spec.ts
@@ -0,0 +1,519 @@
+import { Component, Input, Pipe, PipeTransform } from '@angular/core';
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+import { By } from '@angular/platform-browser';
+import { RouterTestingModule } from '@angular/router/testing';
+import {
+ ActiveCartFacade,
+ Cart,
+ DeliveryMode,
+ OrderEntry,
+ PaymentType,
+} from '@spartacus/cart/base/root';
+import {
+ CheckoutCostCenterFacade,
+ CheckoutPaymentTypeFacade,
+} from '@spartacus/checkout/b2b/root';
+import { CheckoutStepService } from '@spartacus/checkout/base/components';
+import {
+ CheckoutDeliveryAddressFacade,
+ CheckoutDeliveryModesFacade,
+ CheckoutPaymentFacade,
+ CheckoutStep,
+ CheckoutStepType,
+} from '@spartacus/checkout/base/root';
+import {
+ Address,
+ CostCenter,
+ Country,
+ I18nTestingModule,
+ PaymentDetails,
+ QueryState,
+ UserCostCenterService,
+} from '@spartacus/core';
+import { Card, OutletModule, PromotionsModule } from '@spartacus/storefront';
+import { IconTestingModule } from 'projects/storefrontlib/cms-components/misc/icon/testing/icon-testing.module';
+import { BehaviorSubject, EMPTY, Observable, of } from 'rxjs';
+import { ServiceCheckoutReviewSubmitComponent } from './service-checkout-review-submit.component';
+
+import createSpy = jasmine.createSpy;
+import {
+ CheckoutServiceDetailsFacade,
+ CheckoutServiceSchedulePickerService,
+ ServiceDateTime,
+} from '@spartacus/s4-service/root';
+
+const mockCart: Cart = {
+ guid: 'test',
+ code: 'test',
+ deliveryItemsQuantity: 123,
+ totalPrice: { formattedValue: '$999.98' },
+};
+const mockCountry: Country = { isocode: 'JP', name: 'Japan' };
+const mockAddress: Address = {
+ firstName: 'John',
+ lastName: 'Doe',
+ titleCode: 'mr',
+ line1: 'Toyosaki 2 create on cart',
+ line2: 'line2',
+ town: 'town',
+ region: { isocode: 'JP-27' },
+ postalCode: 'zip',
+ country: mockCountry,
+};
+const addressBS = new BehaviorSubject