1 import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
2 import { provideHttpClientTesting } from '@angular/common/http/testing'
3 import { ComponentFixture, TestBed } from '@angular/core/testing'
8 } from '@angular/forms'
9 import { NgSelectModule } from '@ng-select/ng-select'
10 import { of } from 'rxjs'
11 import { GroupService } from 'src/app/services/rest/group.service'
12 import { PermissionsGroupComponent } from './permissions-group.component'
14 describe('PermissionsGroupComponent', () => {
15 let component: PermissionsGroupComponent
16 let fixture: ComponentFixture<PermissionsGroupComponent>
17 let groupService: GroupService
20 beforeEach(async () => {
21 TestBed.configureTestingModule({
22 declarations: [PermissionsGroupComponent],
23 imports: [FormsModule, ReactiveFormsModule, NgSelectModule],
26 provideHttpClient(withInterceptorsFromDi()),
27 provideHttpClientTesting(),
29 }).compileComponents()
31 groupService = TestBed.inject(GroupService)
32 groupServiceSpy = jest.spyOn(groupService, 'listAll').mockReturnValue(
48 fixture = TestBed.createComponent(PermissionsGroupComponent)
49 fixture.debugElement.injector.get(NG_VALUE_ACCESSOR)
50 component = fixture.componentInstance
51 fixture.detectChanges()
54 it('should get groups, support use of select', () => {
55 component.writeValue({ id: 2, name: 'Group 2' })
56 expect(component.value).toEqual({ id: 2, name: 'Group 2' })
57 expect(groupServiceSpy).toHaveBeenCalled()