tests: Date time picker tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { randUser } from '../utils/index.js'
|
import { randUser } from '../utils/index.js'
|
||||||
import { sampleBoard } from '../utils/sampleBoard'
|
import { sampleBoard } from '../utils/sampleBoard'
|
||||||
|
import moment from '@nextcloud/moment'
|
||||||
|
|
||||||
const user = randUser()
|
const user = randUser()
|
||||||
const boardData = sampleBoard()
|
const boardData = sampleBoard()
|
||||||
@@ -177,6 +178,46 @@ describe('Card', function() {
|
|||||||
cy.get('#app-sidebar-vue')
|
cy.get('#app-sidebar-vue')
|
||||||
.find('.ProseMirror h1').contains('Hello world writing more text').should('be.visible')
|
.find('.ProseMirror h1').contains('Hello world writing more text').should('be.visible')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Set a due date', function() {
|
||||||
|
const newCardTitle = 'Card with a due date'
|
||||||
|
|
||||||
|
cy.get('.button-vue[aria-label*="Add card"]')
|
||||||
|
.first().click()
|
||||||
|
cy.get('.stack__card-add form input#new-stack-input-main')
|
||||||
|
.type(newCardTitle)
|
||||||
|
cy.get('.stack__card-add form input[type=submit]')
|
||||||
|
.first().click()
|
||||||
|
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
|
||||||
|
|
||||||
|
cy.get('.card:contains("Card with a due date")').should('be.visible').click()
|
||||||
|
|
||||||
|
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
|
||||||
|
|
||||||
|
// Set a due date through shortcut
|
||||||
|
cy.get('[data-cy-due-date-shortcut="tomorrow"] button').should('be.visible').click()
|
||||||
|
|
||||||
|
const tomorrow = moment().add(1, 'days').hour(8).minutes(0).seconds(0)
|
||||||
|
cy.get('#card-duedate-picker').should('have.value', tomorrow.format('YYYY-MM-DDTHH:mm'))
|
||||||
|
|
||||||
|
const now = moment().hour(11).minutes(0).seconds(0).toDate()
|
||||||
|
cy.clock(now)
|
||||||
|
cy.log(now)
|
||||||
|
cy.tick(60_000)
|
||||||
|
|
||||||
|
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state="Now"]').should('be.visible').should('contain', '21 hours')
|
||||||
|
|
||||||
|
|
||||||
|
// Remove the due date again
|
||||||
|
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
|
||||||
|
// tick needed to show the popover menu
|
||||||
|
cy.tick(1_000)
|
||||||
|
cy.get('[data-cy-due-date-remove] button').should('be.visible').click()
|
||||||
|
|
||||||
|
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state]').should('not.be.visible')
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -10,19 +10,26 @@
|
|||||||
:placeholder="t('deck', 'Set a due date')"
|
:placeholder="t('deck', 'Set a due date')"
|
||||||
:hide-label="true"
|
:hide-label="true"
|
||||||
type="datetime-local" />
|
type="datetime-local" />
|
||||||
<NcActions v-if="canEdit" :menu-title="!duedate ? t('deck', 'Add due date') : null" type="tertiary">
|
<NcActions v-if="canEdit"
|
||||||
|
:menu-title="!duedate ? t('deck', 'Add due date') : null"
|
||||||
|
type="tertiary"
|
||||||
|
data-cy-due-date-actions>
|
||||||
<template v-if="!duedate" #icon>
|
<template v-if="!duedate" #icon>
|
||||||
<Plus :size="20" />
|
<Plus :size="20" />
|
||||||
</template>
|
</template>
|
||||||
<NcActionButton v-for="shortcut in reminderOptions"
|
<NcActionButton v-for="shortcut in reminderOptions"
|
||||||
:key="shortcut.key"
|
:key="shortcut.key"
|
||||||
close-after-click
|
close-after-click
|
||||||
|
:data-cy-due-date-shortcut="shortcut.key"
|
||||||
@click="() => selectShortcut(shortcut)">
|
@click="() => selectShortcut(shortcut)">
|
||||||
{{ shortcut.label }}
|
{{ shortcut.label }}
|
||||||
</NcActionButton>
|
</NcActionButton>
|
||||||
<NcActionSeparator />
|
<NcActionSeparator />
|
||||||
|
|
||||||
<NcActionButton v-if="!duedate" close-after-click @click="initDate">
|
<NcActionButton v-if="!duedate"
|
||||||
|
close-after-click
|
||||||
|
data-cy-due-date-pick
|
||||||
|
@click="initDate">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<Plus :size="20" />
|
<Plus :size="20" />
|
||||||
</template>
|
</template>
|
||||||
@@ -31,6 +38,7 @@
|
|||||||
<NcActionButton v-else
|
<NcActionButton v-else
|
||||||
icon="icon-delete"
|
icon="icon-delete"
|
||||||
close-after-click
|
close-after-click
|
||||||
|
data-cy-due-date-remove
|
||||||
@click="removeDue">
|
@click="removeDue">
|
||||||
{{ t('deck', 'Remove due date') }}
|
{{ t('deck', 'Remove due date') }}
|
||||||
</NcActionButton>
|
</NcActionButton>
|
||||||
|
|||||||
Reference in New Issue
Block a user