diff --git a/integration-libs/opf/base/root/services/opf-payment-metadata-store.service.spec.ts b/integration-libs/opf/base/root/services/opf-payment-metadata-store.service.spec.ts index e55736c63ca..60900606521 100644 --- a/integration-libs/opf/base/root/services/opf-payment-metadata-store.service.spec.ts +++ b/integration-libs/opf/base/root/services/opf-payment-metadata-store.service.spec.ts @@ -1,85 +1,85 @@ -// /* -// * SPDX-FileCopyrightText: 2023 SAP Spartacus team -// * -// * SPDX-License-Identifier: Apache-2.0 -// */ - -// import { TestBed } from '@angular/core/testing'; -// import { OpfPaymentMetadata } from '../model'; -// import { OpfPaymentMetadataStoreService } from './opf-payment-metadata-store.service'; - -// const initialState = { -// termsAndConditionsChecked: false, -// selectedPaymentOptionId: undefined, -// isPaymentInProgress: false, -// }; - -// const state: OpfPaymentMetadata = { -// isPaymentInProgress: true, -// selectedPaymentOptionId: 111, -// termsAndConditionsChecked: true, -// }; - -// describe('OpfPaymentMetadataStoreService', () => { -// let service: OpfPaymentMetadataStoreService; - -// beforeEach(() => { -// TestBed.configureTestingModule({ -// providers: [OpfPaymentMetadataStoreService], -// }); - -// service = TestBed.inject(OpfPaymentMetadataStoreService); -// }); - -// it('should be created', () => { -// expect(service).toBeTruthy(); -// }); - -// it('should initialize with the initial state', () => { -// expect(service.opfPaymentMetadataState.value).toEqual(initialState); -// }); - -// it('should return the current opfPaymentMetadataState as an observable', (done) => { -// service.opfPaymentMetadataState.next(state); - -// service.getOpfMetadataState().subscribe((state) => { -// expect(state).toEqual(state); -// done(); -// }); -// }); - -// it('should update opfPaymentMetadataState with the given payload', () => { -// const mockedState: OpfPaymentMetadata = { -// ...state, -// isPaymentInProgress: false, -// }; - -// service.opfPaymentMetadataState.next(mockedState); - -// const updatedPayload = { -// isPaymentInProgress: true, -// termsAndConditionsChecked: false, -// }; - -// service.updateOpfMetadata(updatedPayload); - -// expect(service.opfPaymentMetadataState.value).toEqual({ -// ...mockedState, -// ...updatedPayload, -// }); -// }); - -// it('should clear opfPaymentMetadataState and set it back to the initial state', () => { -// const state = { -// isPaymentInProgress: true, -// termsAndConditionsChecked: true, -// selectedPaymentOptionId: 111, -// }; - -// service.opfPaymentMetadataState.next(state); - -// service.clearOpfMetadata(); - -// expect(service.opfPaymentMetadataState.value).toEqual(initialState); -// }); -// }); +/* + * SPDX-FileCopyrightText: 2023 SAP Spartacus team + * + * SPDX-License-Identifier: Apache-2.0 + */ + +import { TestBed } from '@angular/core/testing'; +import { OpfPaymentMetadata } from '../model'; +import { OpfPaymentMetadataStoreService } from './opf-payment-metadata-store.service'; + +const initialState = { + termsAndConditionsChecked: false, + selectedPaymentOptionId: undefined, + isPaymentInProgress: false, +}; + +const state: OpfPaymentMetadata = { + isPaymentInProgress: true, + selectedPaymentOptionId: 111, + termsAndConditionsChecked: true, +}; + +describe('OpfPaymentMetadataStoreService', () => { + let service: OpfPaymentMetadataStoreService; + + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [OpfPaymentMetadataStoreService], + }); + + service = TestBed.inject(OpfPaymentMetadataStoreService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + it('should initialize with the initial state', () => { + expect(service.opfPaymentMetadataState.value).toEqual(initialState); + }); + + it('should return the current opfPaymentMetadataState as an observable', (done) => { + service.opfPaymentMetadataState.next(state); + + service.getOpfMetadataState().subscribe((state) => { + expect(state).toEqual(state); + done(); + }); + }); + + it('should update opfPaymentMetadataState with the given payload', () => { + const mockedState: OpfPaymentMetadata = { + ...state, + isPaymentInProgress: false, + }; + + service.opfPaymentMetadataState.next(mockedState); + + const updatedPayload = { + isPaymentInProgress: true, + termsAndConditionsChecked: false, + }; + + service.updateOpfMetadata(updatedPayload); + + expect(service.opfPaymentMetadataState.value).toEqual({ + ...mockedState, + ...updatedPayload, + }); + }); + + it('should clear opfPaymentMetadataState and set it back to the initial state', () => { + const state = { + isPaymentInProgress: true, + termsAndConditionsChecked: true, + selectedPaymentOptionId: 111, + }; + + service.opfPaymentMetadataState.next(state); + + service.clearOpfMetadata(); + + expect(service.opfPaymentMetadataState.value).toEqual(initialState); + }); +}); diff --git a/integration-libs/opf/base/root/services/opf.service.spec.ts b/integration-libs/opf/base/root/services/opf.service.spec.ts index d5899b573f5..d8a9f5734eb 100644 --- a/integration-libs/opf/base/root/services/opf.service.spec.ts +++ b/integration-libs/opf/base/root/services/opf.service.spec.ts @@ -10,78 +10,78 @@ // * SPDX-License-Identifier: Apache-2.0 // */ -// import { TestBed } from '@angular/core/testing'; -// import { BehaviorSubject, Observable } from 'rxjs'; -// import { OpfPaymentMetadata } from '../model'; -// import { OpfPaymentMetadataStoreService } from './opf-payment-metadata-store.service'; -// import { OpfService } from './opf.service'; - -// describe('OpfService', () => { -// let service: OpfService; -// let opfPaymentMetadataStoreServiceMock: jasmine.SpyObj; - -// beforeEach(() => { -// opfPaymentMetadataStoreServiceMock = jasmine.createSpyObj( -// 'OpfPaymentMetadataStoreService', -// ['updateOpfMetadata', 'clearOpfMetadata', 'getOpfMetadataState'] -// ); - -// TestBed.configureTestingModule({ -// providers: [ -// OpfService, -// { -// provide: OpfPaymentMetadataStoreService, -// useValue: opfPaymentMetadataStoreServiceMock, -// }, -// ], -// }); - -// service = TestBed.inject(OpfService); -// }); - -// it('should be created', () => { -// expect(service).toBeTruthy(); -// }); - -// it('should call updateOpfMetadataState with the provided payload', () => { -// const mockOpfMetadata: Partial = { -// isPaymentInProgress: true, -// }; - -// service.updateOpfMetadataState(mockOpfMetadata); - -// expect( -// opfPaymentMetadataStoreServiceMock.updateOpfMetadata -// ).toHaveBeenCalledWith(mockOpfMetadata); -// }); - -// it('should call clearOpfMetadataState', () => { -// service.clearOpfMetadataState(); - -// expect( -// opfPaymentMetadataStoreServiceMock.clearOpfMetadata -// ).toHaveBeenCalled(); -// }); - -// it('should call getOpfMetadataState and return the observable', () => { -// const mockOpfMetadata: OpfPaymentMetadata = { -// isPaymentInProgress: true, -// selectedPaymentOptionId: 111, -// termsAndConditionsChecked: true, -// }; - -// const mockObservable = new BehaviorSubject( -// mockOpfMetadata -// ); -// opfPaymentMetadataStoreServiceMock.getOpfMetadataState.and.returnValue( -// mockObservable -// ); - -// const result = service.getOpfMetadataState(); - -// expect(result).toBeInstanceOf(Observable); -// result.subscribe((metadata) => { -// expect(metadata).toEqual(mockOpfMetadata); -// }); -// }); -// }); +import { TestBed } from '@angular/core/testing'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { OpfPaymentMetadata } from '../model'; +import { OpfPaymentMetadataStoreService } from './opf-payment-metadata-store.service'; +import { OpfService } from './opf.service'; + +describe('OpfService', () => { + let service: OpfService; + let opfPaymentMetadataStoreServiceMock: jasmine.SpyObj; + + beforeEach(() => { + opfPaymentMetadataStoreServiceMock = jasmine.createSpyObj( + 'OpfPaymentMetadataStoreService', + ['updateOpfMetadata', 'clearOpfMetadata', 'getOpfMetadataState'] + ); + + TestBed.configureTestingModule({ + providers: [ + OpfService, + { + provide: OpfPaymentMetadataStoreService, + useValue: opfPaymentMetadataStoreServiceMock, + }, + ], + }); + + service = TestBed.inject(OpfService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + it('should call updateOpfMetadataState with the provided payload', () => { + const mockOpfMetadata: Partial = { + isPaymentInProgress: true, + }; + + service.updateOpfMetadataState(mockOpfMetadata); + + expect( + opfPaymentMetadataStoreServiceMock.updateOpfMetadata + ).toHaveBeenCalledWith(mockOpfMetadata); + }); + + it('should call clearOpfMetadataState', () => { + service.clearOpfMetadataState(); + + expect( + opfPaymentMetadataStoreServiceMock.clearOpfMetadata + ).toHaveBeenCalled(); + }); + + it('should call getOpfMetadataState and return the observable', () => { + const mockOpfMetadata: OpfPaymentMetadata = { + isPaymentInProgress: true, + selectedPaymentOptionId: 111, + termsAndConditionsChecked: true, + }; + + const mockObservable = new BehaviorSubject( + mockOpfMetadata + ); + opfPaymentMetadataStoreServiceMock.getOpfMetadataState.and.returnValue( + mockObservable + ); + + const result = service.getOpfMetadataState(); + + expect(result).toBeInstanceOf(Observable); + result.subscribe((metadata) => { + expect(metadata).toEqual(mockOpfMetadata); + }); + }); +});