Согласно моим исследованиям (например, Насмешка даты в транспортире ), мы должны иметь возможность подделать текущую дату, используя следующие строки в тесте Angular E2E с транспортиром:
it('should display the fake date put in place via jasmine.clock().mockDate()', async () => {
jasmine.clock().install();
jasmine.clock().mockDate(new Date(2040, 0, 1));
await page.navigateTo();
const result = await page.getCurrentDateDisplayed();
expect(result).toEqual('2040-01-01');
jasmine.clock().uninstall();
});
Однако, похоже, это не работает для меня, и я не понимаю, почему.Результаты теста показывают, что подделка даты не работает вообще, она использует текущую дату:
Expected '2019-02-02' to equal '2040-01-01'.
Вот также app.component.ts и соответствующий html-шаблон:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div style="text-align:center">
<h1>
Current date is <span class="e2e-curr-date">{{currentDate | date:'yyyy-MM-dd'}}</span>.
</h1>
</div>`,
})
export class AppComponent {
currentDate = new Date();
}
Вот также полный источник: https://github.com/baumgarb/ng-e2e-test-w-jasmine-clock