Problem z testem w Angularze, autoconversja do Object

0

pisze testy w angularowej aplikacji, korzystam do tego z jasmine, karma.
Pisząc test dla metody przekształcającej dane z Array<Data> do Array<DataView> napotkałem coś dziwnego:

export class FakeDataService extends DataService {
  month = 0;
  year = 2016;
}
describe('DataService', () => {
  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [DataService]
    });
  });
 it('should return proper DataView with createViews()', () => {
    const testData: Array<Data> = [
      { year: 2016, month: 1,  duties: new Array<Duty>() },
    ];
    const goodResult: Array<DataView> = [
      { date: 'styczeń 2016',  dutyTime: '-' } 
    ];
    const dataService = new FakeDataService();
    expect(dataService.createViewsFromData(testData)).toEqual(goodResult);
  });
});

Test daje taki rezultat:
Expected $[0] to be a kind of Object, but was DataView({ date: 'styczeń 2016', dutyTime: '-' }).

a jak zmienie toEqual na toBe dostaje cos takiego
Expected [ DateView({ date: 'styczeń 2016', dutyTime: '-'' }) ] to be [ Object({ date: 'styczeń 2016', dutyTime: '-'}) ]

Dlaczego goodResult zostaje jakby przeparsowane do object....

0

Nie znam się na żadnym z czterech tagów, którymi oznaczyłeś temat, ale może to pomoże:
https://stackoverflow.com/questions/22413009/jasmine-javascript-testing-tobe-vs-toequal

Najpewniej nie jest to Javascript, ale na logikę, to:

const goodResult: Array<DataView> = [
      { date: 'styczeń 2016',  dutyTime: '-' } 
    ];

wygląda mi na deklarację raczej tablicy obiektów, a nie tablicy DataView.

1 użytkowników online, w tym zalogowanych: 0, gości: 1