mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-04-26 07:05:32 +00:00
58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
import {UserFactory} from '../../factories/user'
|
|
import {ProjectFactory} from '../../factories/project'
|
|
import {TaskFactory} from '../../factories/task'
|
|
import {login} from '../../support/authenticateUser'
|
|
import {DATE_DISPLAY} from '../../../src/constants/dateDisplay'
|
|
import dayjs from 'dayjs'
|
|
import relativeTime from 'dayjs/plugin/relativeTime'
|
|
|
|
dayjs.extend(relativeTime)
|
|
|
|
const createdDate = new Date(Date.UTC(2022, 6, 25, 12))
|
|
const now = new Date(Date.UTC(2022, 6, 30, 12))
|
|
|
|
const expectedFormats = {
|
|
[DATE_DISPLAY.RELATIVE]: dayjs(createdDate).from(now),
|
|
[DATE_DISPLAY.MM_DD_YYYY]: dayjs(createdDate).format('MM-DD-YYYY'),
|
|
[DATE_DISPLAY.DD_MM_YYYY]: dayjs(createdDate).format('DD-MM-YYYY'),
|
|
[DATE_DISPLAY.YYYY_MM_DD]: dayjs(createdDate).format('YYYY-MM-DD'),
|
|
[DATE_DISPLAY.MM_SLASH_DD_YYYY]: dayjs(createdDate).format('MM/DD/YYYY'),
|
|
[DATE_DISPLAY.DD_SLASH_MM_YYYY]: dayjs(createdDate).format('DD/MM/YYYY'),
|
|
[DATE_DISPLAY.YYYY_SLASH_MM_DD]: dayjs(createdDate).format('YYYY/MM/DD'),
|
|
[DATE_DISPLAY.DAY_MONTH_YEAR]: new Intl.DateTimeFormat('en', {
|
|
day: 'numeric',
|
|
month: 'long',
|
|
year: 'numeric',
|
|
}).format(createdDate),
|
|
[DATE_DISPLAY.WEEKDAY_DAY_MONTH_YEAR]: new Intl.DateTimeFormat('en', {
|
|
weekday: 'long',
|
|
day: 'numeric',
|
|
month: 'long',
|
|
year: 'numeric',
|
|
}).format(createdDate),
|
|
}
|
|
|
|
describe('Date display setting', () => {
|
|
Object.entries(expectedFormats).forEach(([format, expected]) => {
|
|
it(`shows ${format}`, () => {
|
|
const user = UserFactory.create(1, {
|
|
frontend_settings: JSON.stringify({dateDisplay: format}),
|
|
})[0]
|
|
const project = ProjectFactory.create(1, {owner_id: user.id})[0]
|
|
TaskFactory.truncate()
|
|
const task = TaskFactory.create(1, {
|
|
id: 1,
|
|
project_id: project.id,
|
|
created_by_id: user.id,
|
|
created: createdDate.toISOString(),
|
|
updated: createdDate.toISOString(),
|
|
})[0]
|
|
|
|
cy.clock(now, ['Date'])
|
|
login(user)
|
|
cy.visit(`/tasks/${task.id}`)
|
|
cy.get('.task-view .created time span').should('contain', expected)
|
|
})
|
|
})
|
|
})
|