mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-18 00:54:43 -04:00
Cypress-IDs and prettier for tests (#1634)
* Add cy.getById method and run prettier Signed-off-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
parent
8a8bacc0aa
commit
d725b65140
53 changed files with 758 additions and 1203 deletions
|
@ -11,106 +11,93 @@ describe('File upload', () => {
|
|||
cy.visitTestEditor()
|
||||
})
|
||||
|
||||
it('doesn\'t prevent drag\'n\'drop of plain text', () => {
|
||||
it("doesn't prevent drag'n'drop of plain text", () => {
|
||||
const dataTransfer = new DataTransfer()
|
||||
cy.setCodemirrorContent('line 1\nline 2\ndragline')
|
||||
cy.get('.CodeMirror')
|
||||
.click()
|
||||
cy.get('.CodeMirror-line > span')
|
||||
.last()
|
||||
.dblclick()
|
||||
cy.get('.CodeMirror-line > span > .cm-matchhighlight')
|
||||
.trigger('dragstart', { dataTransfer })
|
||||
cy.get('.CodeMirror-code > div:nth-of-type(1) > .CodeMirror-line > span span')
|
||||
.trigger('drop', { dataTransfer })
|
||||
cy.get('.CodeMirror-code > div:nth-of-type(1) > .CodeMirror-line > span span')
|
||||
.should('have.text', 'lindraglinee 1')
|
||||
cy.get('.CodeMirror').click()
|
||||
cy.get('.CodeMirror-line > span').last().dblclick()
|
||||
cy.get('.CodeMirror-line > span > .cm-matchhighlight').trigger('dragstart', { dataTransfer })
|
||||
cy.get('.CodeMirror-code > div:nth-of-type(1) > .CodeMirror-line > span > span').trigger('drop', { dataTransfer })
|
||||
cy.get('.CodeMirror-code > div:nth-of-type(1) > .CodeMirror-line > span > span').should(
|
||||
'have.text',
|
||||
'lindraglinee 1'
|
||||
)
|
||||
})
|
||||
|
||||
describe('upload works', () => {
|
||||
describe('works', () => {
|
||||
beforeEach(() => {
|
||||
cy.intercept({
|
||||
method: 'GET',
|
||||
url: '/mock-backend/api/private/media/upload-post'
|
||||
}, {
|
||||
statusCode: 200,
|
||||
body: {
|
||||
link: imageUrl
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'GET',
|
||||
url: '/mock-backend/api/private/media/upload-post'
|
||||
},
|
||||
{
|
||||
statusCode: 200,
|
||||
body: {
|
||||
link: imageUrl
|
||||
}
|
||||
}
|
||||
})
|
||||
)
|
||||
})
|
||||
it('via button', () => {
|
||||
cy.get('.fa-upload')
|
||||
.click()
|
||||
cy.get('div.btn-group > input[type=file]')
|
||||
.attachFile({ filePath: 'demo.png', mimeType: 'image/png' })
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span')
|
||||
.should('have.text', ``)
|
||||
cy.getById('editor-toolbar-upload-image-button').click()
|
||||
cy.getById('editor-toolbar-upload-image-input').attachFile({ filePath: 'demo.png', mimeType: 'image/png' })
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span').should('have.text', ``)
|
||||
})
|
||||
|
||||
it('via paste', () => {
|
||||
cy.fixture('demo.png')
|
||||
.then((image: string) => {
|
||||
const pasteEvent = {
|
||||
clipboardData: {
|
||||
files: [Cypress.Blob.base64StringToBlob(image, 'image/png')],
|
||||
getData: (_: string) => ''
|
||||
}
|
||||
cy.fixture('demo.png').then((image: string) => {
|
||||
const pasteEvent = {
|
||||
clipboardData: {
|
||||
files: [Cypress.Blob.base64StringToBlob(image, 'image/png')],
|
||||
getData: (_: string) => ''
|
||||
}
|
||||
cy.get('.CodeMirror-scroll')
|
||||
.trigger('paste', pasteEvent)
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span')
|
||||
.should('have.text', ``)
|
||||
})
|
||||
}
|
||||
cy.get('.CodeMirror-scroll').trigger('paste', pasteEvent)
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span').should('have.text', ``)
|
||||
})
|
||||
})
|
||||
|
||||
it('via drag and drop', () => {
|
||||
cy.fixture('demo.png')
|
||||
.then((image: string) => {
|
||||
const dropEvent = {
|
||||
dataTransfer: {
|
||||
files: [Cypress.Blob.base64StringToBlob(image, 'image/png')],
|
||||
effectAllowed: 'uninitialized'
|
||||
}
|
||||
cy.fixture('demo.png').then((image: string) => {
|
||||
const dropEvent = {
|
||||
dataTransfer: {
|
||||
files: [Cypress.Blob.base64StringToBlob(image, 'image/png')],
|
||||
effectAllowed: 'uninitialized'
|
||||
}
|
||||
cy.get('.CodeMirror-scroll')
|
||||
.trigger('dragenter', dropEvent)
|
||||
cy.get('.CodeMirror-scroll')
|
||||
.trigger('drop', dropEvent)
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span')
|
||||
.should('have.text', ``)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
it('upload fails', () => {
|
||||
cy.intercept({
|
||||
method: 'GET',
|
||||
url: '/mock-backend/api/private/media/upload-post'
|
||||
}, {
|
||||
statusCode: 400
|
||||
})
|
||||
cy.get('.fa-upload')
|
||||
.click()
|
||||
cy.fixture('demo.png')
|
||||
.then(() => {
|
||||
cy.get('input[type=file]')
|
||||
.attachFile({ filePath: 'demo.png', mimeType: 'image/png' })
|
||||
}
|
||||
cy.get('.CodeMirror-scroll').trigger('dragenter', dropEvent)
|
||||
cy.get('.CodeMirror-scroll').trigger('drop', dropEvent)
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span').should('have.text', ``)
|
||||
})
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span > span')
|
||||
.should('have.text', String.fromCharCode(8203)) //thanks codemirror....
|
||||
})
|
||||
})
|
||||
|
||||
it('text paste still works', () => {
|
||||
it('fails', () => {
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'GET',
|
||||
url: '/mock-backend/api/private/media/upload-post'
|
||||
},
|
||||
{
|
||||
statusCode: 400
|
||||
}
|
||||
)
|
||||
cy.getById('editor-toolbar-upload-image-button').click()
|
||||
cy.fixture('demo.png').then(() => {
|
||||
cy.getById('editor-toolbar-upload-image-input').attachFile({ filePath: 'demo.png', mimeType: 'image/png' })
|
||||
})
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span > span').should('have.text', String.fromCharCode(8203)) //thanks codemirror....
|
||||
})
|
||||
|
||||
it('lets text paste still work', () => {
|
||||
const testText = 'a long test text'
|
||||
const pasteEvent = {
|
||||
clipboardData: {
|
||||
getData: (type = 'text') => testText
|
||||
}
|
||||
}
|
||||
cy.get('.CodeMirror-scroll')
|
||||
.trigger('paste', pasteEvent)
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span')
|
||||
.should('have.text', `${ testText }`)
|
||||
cy.get('.CodeMirror-scroll').trigger('paste', pasteEvent)
|
||||
cy.get('.CodeMirror-activeline > .CodeMirror-line > span').should('have.text', `${testText}`)
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue