import { MatTableHarness } from "@angular/material/table/testing";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { of } from "rxjs/observable/of";
-import { EIJob } from "@interfaces/ei.types";
-import { EIService } from "@services/ei/ei.service";
+import { JobInfo } from "@interfaces/producer.types";
+import { ProducerService } from "@services/ei/producer.service";
import { UiService } from "@services/ui/ui.service";
import { Job, JobsListComponent } from "./jobs-list.component";
let component: JobsListComponent;
let fixture: ComponentFixture<JobsListComponent>;
-const eijob1 = {
- ei_job_identity: "job1",
- ei_type_identity: "type1",
+const jobInfo1 = {
+ info_job_identity: "job1",
+ info_type_identity: "type1",
owner: "owner1",
target_uri: "http://one",
-} as EIJob;
-const eijob2 = {
- ei_job_identity: "job2",
- ei_type_identity: "type2",
+} as JobInfo;
+const jobInfo2 = {
+ info_job_identity: "job2",
+ info_type_identity: "type2",
owner: "owner2",
target_uri: "http://two",
-} as EIJob;
+} as JobInfo;
const job1 = {
jobId: "job1",
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
declarations: [JobsListComponent],
- providers: [{ provide: EIService, useValue: spy }, UiService],
+ providers: [{ provide: ProducerService, useValue: spy }, UiService],
})
.compileComponents()
.then(() => {
it("should display default values for non required properties ", fakeAsync(() => {
const jobMissingProperties = {
- ei_job_identity: "job1",
- ei_job_data: {
+ info_job_identity: "job1",
+ info_job_data: {
jobparam2: "value2_job2",
jobparam3: "value3_job2",
jobparam1: "value1_job2",
},
target_uri: "http://one",
- } as EIJob;
+ } as JobInfo;
- let eiServiceSpy = TestBed.inject(EIService) as jasmine.SpyObj<EIService>;
- eiServiceSpy.getProducerIds.and.returnValue(of(["producer1"]));
- eiServiceSpy.getJobsForProducer.and.returnValue(
+ let producerServiceSpy = TestBed.inject(ProducerService) as jasmine.SpyObj<ProducerService>;
+ producerServiceSpy.getProducerIds.and.returnValue(of(["producer1"]));
+ producerServiceSpy.getJobsForProducer.and.returnValue(
of([jobMissingProperties])
);
setServiceSpy();
tick(0);
- loader.getHarness(MatSortHarness).then((sort) => {
- sort.getSortHeaders({ sortDirection: "" }).then((headers) => {
+ let sort = loader.getHarness(MatSortHarness);
+ tick(10);
+
+ sort.then((value) => {
+ value.getSortHeaders({ sortDirection: "" }).then((headers) => {
expect(headers.length).toBe(5);
- headers[0].click().then((_) => {
- headers[0].isActive().then((active) => {
- expect(active).toBe(true);
- });
- headers[0].getSortDirection().then((direction) => {
- expect(direction).toBe("asc");
- });
+ headers[0].click();
+ tick(10);
+ headers[0].isActive().then((value) => {
+ expect(value).toBe(true);
});
- headers[0].click().then((_) => {
- headers[0].getSortDirection().then((direction) => {
- expect(direction).toBe("desc");
- });
+ headers[0].getSortDirection().then((value) => {
+ expect(value).toBe("asc");
+ });
+
+ headers[0].click();
+ tick(10);
+ headers[0].getSortDirection().then((value) => {
+ expect(value).toBe("desc");
});
});
});
setServiceSpy();
tick(0);
- loader.getHarness(MatSortHarness).then((sort) => {
+ let sort = loader.getHarness(MatSortHarness);
+ tick(10);
+
+ sort.then((value) => {
loader
.getHarness(MatTableHarness.with({ selector: "#jobsTable" }))
.then((loadTable) => {
- sort.getSortHeaders().then((headers) => {
- headers[0].click().then((_) => {
- headers[0].getSortDirection().then((direction) => {
- expect(direction).toBe("");
- });
- });
- headers[0].click().then((_) => {
- headers[0].getSortDirection().then((direction) => {
- expect(direction).toBe("asc");
- });
+ tick(10);
+ value.getSortHeaders().then((headers) => {
+ headers[0].click();
+ tick(10);
+ headers[0].getSortDirection().then((direction) => {
+ expect(direction).toBe("asc");
});
loadTable.getRows().then((jobRows) => {
jobRows[0].getCellTextByColumnName().then((value) => {
- expect(expectedJob1Row).toContain(
+ expect(expectedJob1Row).toEqual(
jasmine.objectContaining(value)
);
});
});
- headers[0].click().then((_) => {
- headers[0].getSortDirection().then((direction) => {
- expect(direction).toBe("desc");
- });
+
+ headers[0].click();
+ tick(10);
+ headers[0].getSortDirection().then((direction) => {
+ expect(direction).toBe("desc");
});
loadTable.getRows().then((jobRows) => {
jobRows[jobRows.length - 1]
.getCellTextByColumnName()
.then((value) => {
- expect(expectedJob1Row).toContain(
+ expect(expectedJob1Row).toEqual(
jasmine.objectContaining(value)
);
});
describe("#paging", () => {
it("should work properly on the table", fakeAsync(() => {
- let eiServiceSpy = TestBed.inject(
- EIService
- ) as jasmine.SpyObj<EIService>;
- eiServiceSpy.getProducerIds.and.returnValue(
+ let producerServiceSpy = TestBed.inject(
+ ProducerService
+ ) as jasmine.SpyObj<ProducerService>;
+ producerServiceSpy.getProducerIds.and.returnValue(
of(["producer1", "producer2"])
);
- eiServiceSpy.getJobsForProducer.and.returnValue(
- of([eijob1, eijob2, eijob1])
+ producerServiceSpy.getJobsForProducer.and.returnValue(
+ of([jobInfo1, jobInfo2, jobInfo1])
);
tick(0);
});
function setServiceSpy() {
- let eiServiceSpy = TestBed.inject(EIService) as jasmine.SpyObj<EIService>;
- eiServiceSpy.getProducerIds.and.returnValue(of(["producer1", "producer2"]));
- eiServiceSpy.getJobsForProducer.and.returnValue(of([eijob1, eijob2]));
+ let producerServiceSpy = TestBed.inject(ProducerService) as jasmine.SpyObj<ProducerService>;
+ producerServiceSpy.getProducerIds.and.returnValue(of(["producer1", "producer2"]));
+ producerServiceSpy.getJobsForProducer.and.returnValue(of([jobInfo1, jobInfo2]));
}