test/app.test.mjs
/* eslint-disable no-unused-expressions */
import faker from 'faker'
import chai, { util, expect } from 'chai'
import chailint from 'chai-lint'
import { core } from '@kalisio/kdk/test.client.js'
import { createDocument, deleteDocumentItem, deleteDocumentCard } from './document.mjs'
const suite = 'app'
describe(`suite:${suite}`, () => {
let runner
let page
let user
before(async () => {
chailint(chai, util)
runner = new core.Runner(suite, {
appName: 'kapp',
browser: {
slowMo: 2
},
localStorage: {
'k-app-welcome': false,
'k-app-install': false
},
lang: 'fr-FR'
})
page = await runner.start()
await core.goToRegisterScreen(page)
user = {
name: 'kalisio',
email: 'kalisio1@kalisio.xyz',
password: 'Pass;word1'
}
await core.register(page, user)
})
it('update profile', async () => {
await core.updateAccountProfile(page, 'My new name', runner.getDataPath('avatar.png'))
user.name = 'My new name'
await core.clickOpener(page, 'left')
expect(await runner.captureAndMatch('profile')).beTrue()
})
it('check-collections', async () => {
await core.clickPaneAction(page, 'left', 'collection', 1000)
const nbDocuments = await core.countItems(page, 'collection/KItem')
const doc1 = { name: faker.name.findName() }
await createDocument(page, doc1)
expect((nbDocuments + 1) === await core.countItems(page, 'collection/KItem')).to.true
await core.clickAction(page, 'grid', 1000)
const doc2 = { name: faker.name.findName() }
await createDocument(page, doc2)
expect((nbDocuments + 2) === await core.countItems(page, 'collection/KCard')).to.true
await core.clickAction(page, 'list', 1000)
await deleteDocumentItem(page, doc1)
expect((nbDocuments + 1) === await core.countItems(page, 'collection/KItem')).to.true
await core.clickAction(page, 'grid', 1000)
await deleteDocumentCard(page, doc2)
expect(nbDocuments === await core.countItems(page, 'collection/KCard')).to.true
})
after(async () => {
await core.deleteAccount(page, user.name)
await runner.stop()
})
})