| /******************************************************************************** |
| * Copyright (c) 2020 Contributors to the Eclipse Foundation |
| * |
| * See the NOTICE file(s) distributed with this work for additional |
| * information regarding copyright ownership. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| ********************************************************************************/ |
| import { Salutation } from '@shared/models'; |
| import { SalutationsListComponent } from '@pages/admin/salutations/salutations-list//salutations-list.component'; |
| |
| describe('SalutationsListComponent', () => { |
| let component: SalutationsListComponent; |
| let communicationTypesSandbox: any = { |
| setDisplayForm: () => {}, |
| loadCommunicationType: () => {}, |
| deleteCommunicationType: () => {},}; |
| let personTypesSandbox: any = { |
| setDisplayForm: () => {}, |
| loadPersonType: () => {}, |
| deletePersonType: () => {},}; |
| let addressTypesSandbox: any = { |
| setDisplayForm: () => {}, |
| loadAddressType: () => {}, |
| deleteAddressType: () => {},}; |
| const salutationsSandbox: any = { |
| setDisplayForm: () => {}, |
| loadSalutation: () => {}, |
| deleteSalutation: () => {}, |
| }; |
| |
| beforeEach(() => { |
| component = new SalutationsListComponent(salutationsSandbox, communicationTypesSandbox, personTypesSandbox, addressTypesSandbox); |
| }); |
| |
| it('should create', () => { |
| expect(component).toBeTruthy(); |
| }); |
| |
| it('should initialize gridOptions context', () => { |
| component.ngOnInit(); |
| expect(component.salutationGridOptions.context.icons.edit).toBeTruthy(); |
| expect(component.salutationGridOptions.context.icons.delete).toBeTruthy(); |
| }); |
| |
| it('should call appropriate functions for edit event', () => { |
| const spy1: any = spyOn(salutationsSandbox, 'setDisplayForm'); |
| const spy2: any = spyOn(salutationsSandbox, 'loadSalutation'); |
| component.ngOnInit(); |
| component.salutationGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); |
| expect(spy1).toHaveBeenCalled(); |
| expect(spy2).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for delete event', () => { |
| const spy3: any = spyOn(salutationsSandbox, 'deleteSalutation'); |
| component.ngOnInit(); |
| component.salutationGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); |
| expect(spy3).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for edit event', () => { |
| const spy1: any = spyOn(communicationTypesSandbox, 'setDisplayForm'); |
| const spy2: any = spyOn(communicationTypesSandbox, 'loadCommunicationType'); |
| component.ngOnInit(); |
| component.communicationTypesGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); |
| expect(spy1).toHaveBeenCalled(); |
| expect(spy2).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for delete event', () => { |
| const spy3: any = spyOn(communicationTypesSandbox, 'deleteCommunicationType'); |
| component.ngOnInit(); |
| component.communicationTypesGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); |
| expect(spy3).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for edit event', () => { |
| const spy1: any = spyOn(personTypesSandbox, 'setDisplayForm'); |
| const spy2: any = spyOn(personTypesSandbox, 'loadPersonType'); |
| component.ngOnInit(); |
| component.personTypesGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); |
| expect(spy1).toHaveBeenCalled(); |
| expect(spy2).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for delete event', () => { |
| const spy3: any = spyOn(personTypesSandbox, 'deletePersonType'); |
| component.ngOnInit(); |
| component.personTypesGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); |
| expect(spy3).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for edit event', () => { |
| const spy1: any = spyOn(addressTypesSandbox, 'setDisplayForm'); |
| const spy2: any = spyOn(addressTypesSandbox, 'loadAddressType'); |
| component.ngOnInit(); |
| component.addressTypesGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); |
| expect(spy1).toHaveBeenCalled(); |
| expect(spy2).toHaveBeenCalled(); |
| }); |
| |
| it('should call appropriate functions for delete event', () => { |
| const spy3: any = spyOn(addressTypesSandbox, 'deleteAddressType'); |
| component.ngOnInit(); |
| component.addressTypesGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); |
| expect(spy3).toHaveBeenCalled(); |
| }); |
| |
| }); |