+
+ describe('#content', () => {
+ it('should contain refresh button with correct icon', async () => {
+ let refreshButton = await loader.getHarness(MatButtonHarness.with({ selector: '#refreshButton' }));
+ expect(refreshButton).toBeTruthy();
+ expect(await refreshButton.getText()).toEqual('refresh');
+ });
+
+ it('should contain producers table', async () => {
+ const producersTableComponent = fixture.debugElement.nativeElement.querySelector('nrcp-producers-list');
+ expect(producersTableComponent).toBeTruthy();
+ });
+
+ it('should contain jobs table', async () => {
+ const jobsComponent = fixture.debugElement.nativeElement.querySelector('nrcp-jobs-list');
+ expect(jobsComponent).toBeTruthy();
+ });
+
+ it('should set correct dark mode from UIService', () => {
+ const uiService: UiService = TestBed.inject(UiService);
+ expect(component.darkMode).toBeTruthy();
+
+ uiService.darkModeState.next(false);
+ fixture.detectChanges();
+ expect(component.darkMode).toBeFalsy();
+
+ });
+
+ it('should refresh tables', async () => {
+ let refreshButton = await loader.getHarness(MatButtonHarness.with({ selector: '#refreshButton' }));
+ spyOn(component.producersList, 'loadProducers');
+ spyOn(component.producersList, 'clearFilter');
+ spyOn(component.jobComponent, 'loadJobs');
+ spyOn(component.jobComponent, 'clearFilter');
+ await refreshButton.click();
+
+ expect(component.jobComponent.loadJobs).toHaveBeenCalled();
+ expect(component.jobComponent.clearFilter).toHaveBeenCalled();
+ expect(component.producersList.loadProducers).toHaveBeenCalled();
+ expect(component.producersList.clearFilter).toHaveBeenCalled();
+ });
+ });
+
+ @Component({
+ selector: 'nrcp-jobs-list',
+ template: '',
+ providers: [
+ {
+ provide: JobsListComponent,
+ useClass: JobsListStubComponent
+ }
+ ]
+ })
+ class JobsListStubComponent {
+ loadJobs() { }
+ clearFilter() { }
+ }
+
+ @Component({
+ selector: 'nrcp-producers-list',
+ template: '',
+ providers: [
+ {
+ provide: ProducersListComponent,
+ useClass: ProducerListStubComponent
+ }
+ ]
+ })
+ class ProducerListStubComponent {
+ loadProducers() { }
+ clearFilter() { }
+ }
+