playwright-fluent
Version:
Fluent API around playwright
80 lines (79 loc) • 2.3 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const SUT = tslib_1.__importStar(require("./index"));
function addDays(date, days) {
const result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
describe('shouldUpdate', () => {
let now = new Date();
beforeEach(() => {
now = new Date();
});
[
{ lastUpdate: () => now, policy: 'always' },
{
lastUpdate: () => addDays(now, -100),
policy: '1/d',
},
{
lastUpdate: () => addDays(now, -2),
policy: '1/d',
},
{
lastUpdate: () => addDays(now, -1),
policy: '1/d',
},
{
lastUpdate: () => addDays(now, -7),
policy: '1/w',
},
{
lastUpdate: () => addDays(now, -8),
policy: '1/w',
},
{
lastUpdate: () => addDays(now, -31),
policy: '1/m',
},
].forEach(({ lastUpdate, policy }) => {
test(`should update when lastUpdate is ${lastUpdate().toDateString()} and policy is '${policy}'`, async () => {
// Given
const updatePolicy = policy;
// When
const result = SUT.shouldUpdate(lastUpdate(), updatePolicy);
// Then
expect(result).toBe(true);
});
});
[
{ lastUpdate: () => now, policy: 'never' },
{
lastUpdate: () => addDays(now, 0),
policy: '1/d',
},
{
lastUpdate: () => addDays(now, -1),
policy: '1/w',
},
{
lastUpdate: () => addDays(now, -5),
policy: '1/w',
},
{
lastUpdate: () => addDays(now, -15),
policy: '1/m',
},
].forEach(({ lastUpdate, policy }) => {
test(`should not update when lastUpdate is ${lastUpdate().toDateString()} and policy is '${policy}'`, async () => {
// Given
const updatePolicy = policy;
// When
const result = SUT.shouldUpdate(lastUpdate(), updatePolicy);
// Then
expect(result).toBe(false);
});
});
});
;