diff --git a/src/app/core/models/basket/basket.model.ts b/src/app/core/models/basket/basket.model.ts index c2f31c363f..efd9afcbe6 100644 --- a/src/app/core/models/basket/basket.model.ts +++ b/src/app/core/models/basket/basket.model.ts @@ -6,7 +6,7 @@ import { LineItem, LineItemView } from 'ish-core/models/line-item/line-item.mode import { Payment } from 'ish-core/models/payment/payment.model'; import { ShippingMethod } from 'ish-core/models/shipping-method/shipping-method.model'; -interface AbstractBasket { +export interface AbstractBasket { id: string; purchaseCurrency?: string; dynamicMessages?: string[]; diff --git a/src/app/core/models/line-item/line-item.mapper.ts b/src/app/core/models/line-item/line-item.mapper.ts index 14e0de51de..5197d9d08b 100644 --- a/src/app/core/models/line-item/line-item.mapper.ts +++ b/src/app/core/models/line-item/line-item.mapper.ts @@ -1,6 +1,7 @@ import { BasketRebateData } from 'ish-core/models/basket-rebate/basket-rebate.interface'; import { BasketRebateMapper } from 'ish-core/models/basket-rebate/basket-rebate.mapper'; import { OrderItemData } from 'ish-core/models/order-item/order-item.interface'; +import { OrderLineItem } from 'ish-core/models/order/order.model'; import { PriceItemMapper } from 'ish-core/models/price-item/price-item.mapper'; import { PriceMapper } from 'ish-core/models/price/price.mapper'; @@ -49,7 +50,7 @@ export class LineItemMapper { } } - static fromOrderItemData(data: OrderItemData, rebateData?: { [id: string]: BasketRebateData }): LineItem { + static fromOrderItemData(data: OrderItemData, rebateData?: { [id: string]: BasketRebateData }): OrderLineItem { if (data) { const orderItem = LineItemMapper.fromData(data, rebateData); diff --git a/src/app/core/models/line-item/line-item.model.ts b/src/app/core/models/line-item/line-item.model.ts index f58ccfab71..f56189d10e 100644 --- a/src/app/core/models/line-item/line-item.model.ts +++ b/src/app/core/models/line-item/line-item.model.ts @@ -35,11 +35,6 @@ export interface LineItem { isHiddenGift: boolean; isFreeGift: boolean; - // attributes needed for order line items - name?: string; - description?: string; - fulfillmentStatus?: string; - // attributes needed for quote feature originSingleBasePrice?: PriceItem; diff --git a/src/app/core/models/order/order.model.ts b/src/app/core/models/order/order.model.ts index f77ab39d0b..036e1ab06b 100644 --- a/src/app/core/models/order/order.model.ts +++ b/src/app/core/models/order/order.model.ts @@ -1,6 +1,13 @@ -import { Basket } from 'ish-core/models/basket/basket.model'; +import { AbstractBasket } from 'ish-core/models/basket/basket.model'; +import { LineItem } from 'ish-core/models/line-item/line-item.model'; -export interface Order extends Basket { +export interface OrderLineItem extends LineItem { + name: string; + description: string; + fulfillmentStatus: string; +} + +export interface Order extends AbstractBasket { documentNo: string; creationDate: number; orderCreation: { diff --git a/src/app/core/store/customer/basket/basket-items.effects.spec.ts b/src/app/core/store/customer/basket/basket-items.effects.spec.ts index d41c87ff92..c5ca2e7352 100644 --- a/src/app/core/store/customer/basket/basket-items.effects.spec.ts +++ b/src/app/core/store/customer/basket/basket-items.effects.spec.ts @@ -239,7 +239,6 @@ describe('Basket Items Effects', () => { lineItems: [ { id: 'BIID', - name: 'NAME', quantity: { value: 1 }, productSKU: 'SKU', price: undefined, diff --git a/src/app/core/store/customer/customer-store.spec.ts b/src/app/core/store/customer/customer-store.spec.ts index e84298dd3d..643f4c9f21 100644 --- a/src/app/core/store/customer/customer-store.spec.ts +++ b/src/app/core/store/customer/customer-store.spec.ts @@ -52,7 +52,6 @@ describe('Customer Store', () => { const lineItem = { id: 'test', - name: 'test', position: 1, quantity: { type: 'test', value: 1, unit: 'pcs.' }, productSKU: 'test', diff --git a/src/app/core/utils/dev/basket-mock-data.ts b/src/app/core/utils/dev/basket-mock-data.ts index 19053fe4ff..3d40ace941 100644 --- a/src/app/core/utils/dev/basket-mock-data.ts +++ b/src/app/core/utils/dev/basket-mock-data.ts @@ -24,7 +24,6 @@ export class BasketMockData { static getBasketItem(): LineItemView { return { id: '4712', - name: 'pli name', quantity: { value: 10 }, productSKU: '4713', singleBasePrice: { gross: 3, net: 2, currency: 'USD', type: 'PriceItem' }, diff --git a/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.html b/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.html index 139b9d18b7..fd2b689c32 100644 --- a/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.html +++ b/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.html @@ -3,7 +3,7 @@
{{ pli.totals.total | ishPrice }}
diff --git a/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.spec.ts b/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.spec.ts index 42e457eec0..e41097c262 100644 --- a/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.spec.ts +++ b/src/app/shared/components/basket/basket-items-summary/basket-items-summary.component.spec.ts @@ -22,7 +22,7 @@ describe('Basket Items Summary Component', () => { beforeEach(async () => { const shoppingFacade = mock(ShoppingFacade); - when(shoppingFacade.product$(anything(), anything())).thenCall(sku => of({ sku })); + when(shoppingFacade.product$(anything(), anything())).thenCall(sku => of({ sku, name: 'SKU:' + sku })); await TestBed.configureTestingModule({ declarations: [ @@ -54,7 +54,7 @@ describe('Basket Items Summary Component', () => { it('should render basket product line items if basket items are there', () => { fixture.detectChanges(); expect(element.querySelector('.cart-summary-checkout')).toBeTruthy(); - expect(element.querySelector('.cart-summary-checkout').textContent).toContain('pli name'); + expect(element.querySelector('.cart-summary-checkout').textContent).toContain('SKU:4713'); }); it('should not show anything if there are no basket items', () => { diff --git a/src/app/shared/components/line-item/line-item-list/line-item-list.component.ts b/src/app/shared/components/line-item/line-item-list/line-item-list.component.ts index 9da6805cea..02f34d00a2 100644 --- a/src/app/shared/components/line-item/line-item-list/line-item-list.component.ts +++ b/src/app/shared/components/line-item/line-item-list/line-item-list.component.ts @@ -6,6 +6,7 @@ import { debounceTime } from 'rxjs/operators'; import { ShoppingFacade } from 'ish-core/facades/shopping.facade'; import { LineItemUpdate } from 'ish-core/models/line-item-update/line-item-update.model'; import { LineItemView } from 'ish-core/models/line-item/line-item.model'; +import { OrderLineItem } from 'ish-core/models/order/order.model'; import { Price } from 'ish-core/models/price/price.model'; import { ProductCompletenessLevel } from 'ish-core/models/product/product.model'; import { SpecialValidators } from 'ish-shared/forms/validators/special-validators'; @@ -32,7 +33,7 @@ import { SpecialValidators } from 'ish-shared/forms/validators/special-validator changeDetection: ChangeDetectionStrategy.OnPush, }) export class LineItemListComponent { - @Input() lineItems: LineItemView[]; + @Input() lineItems: Partial[]; @Input() editable = true; @Input() total: Price; @Input() lineItemViewType?: 'simple' | 'availability'; diff --git a/src/app/shell/header/mini-basket/mini-basket.component.html b/src/app/shell/header/mini-basket/mini-basket.component.html index 083076eb24..f5c0268d62 100644 --- a/src/app/shell/header/mini-basket/mini-basket.component.html +++ b/src/app/shell/header/mini-basket/mini-basket.component.html @@ -32,7 +32,7 @@
- {{ lineItem.name }} + {{ product.name }}
{{ lineItem.price | ishPrice }}
{{ 'shopping_cart.pli.qty.label' | translate }} {{ lineItem.quantity.value }} diff --git a/src/app/shell/header/mini-basket/mini-basket.component.spec.ts b/src/app/shell/header/mini-basket/mini-basket.component.spec.ts index a7859887cb..c0e153f228 100644 --- a/src/app/shell/header/mini-basket/mini-basket.component.spec.ts +++ b/src/app/shell/header/mini-basket/mini-basket.component.spec.ts @@ -94,7 +94,7 @@ describe('Mini Basket Component', () => { component.open(); fixture.detectChanges(); expect(element.textContent.replace(/ /g, '')).toMatchInlineSnapshot( - `"30items/$141,796.98pliname$3.00x10pliname$3.00x10pliname$3.00x10VIEWCART"` + `"30items/$141,796.98$3.00x10$3.00x10$3.00x10VIEWCART"` ); });