Skip to content

Commit cc5fef4

Browse files
committed
test(cy): Add regression test for sticky elements
Make sure that document status and collision resolve dialog stay visible when scrolling down long documents. Signed-off-by: Jonas <jonas@freesources.org>
1 parent 855a47e commit cc5fef4

2 files changed

Lines changed: 52 additions & 1 deletion

File tree

cypress/e2e/conflict.spec.js

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ const variants = [
99
{ fixture: 'lines.txt', mime: 'text/plain' },
1010
{ fixture: 'test.md', mime: 'text/markdown' },
1111
]
12+
const getWrapper = () => cy.get('.text-editor__wrapper.has-conflicts')
1213

1314
variants.forEach(function({ fixture, mime }) {
1415
const user = randUser()
1516
const fileName = fixture
1617
const prefix = mime.replaceAll('/', '-')
1718
describe(`${mime} (${fileName})`, function() {
18-
const getWrapper = () => cy.get('.text-editor__wrapper.has-conflicts')
1919

2020
before(() => {
2121
cy.createUser(user)
@@ -117,6 +117,36 @@ variants.forEach(function({ fixture, mime }) {
117117
})
118118
})
119119

120+
describe('conflict dialog scroll behaviour', function() {
121+
const user = randUser()
122+
const fileName = 'long.md'
123+
124+
before(() => {
125+
cy.createUser(user)
126+
})
127+
128+
it('document status and collision resolution dialog elements are sticky', function() {
129+
cy.login(user)
130+
cy.createTestFolder()
131+
132+
createConflict(fileName, 'text/markdown')
133+
134+
cy.openFile(fileName)
135+
136+
cy.get('.text-editor .document-status')
137+
.should('contain', 'The file was overwritten.')
138+
getWrapper()
139+
.find('.text-editor__main h2')
140+
.contains('Third subheading')
141+
.scrollIntoView()
142+
143+
cy.get('.text-editor #resolve-conflicts')
144+
.should('be.visible')
145+
cy.get('.text-editor .document-status')
146+
.should('be.visible')
147+
})
148+
})
149+
120150
/**
121151
* @param {string} fileName - filename
122152
* @param {string} mime - mimetype

cypress/fixtures/long.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Hello world
2+
3+
## First subheading
4+
5+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
6+
7+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
8+
9+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
10+
11+
## Second subheading
12+
13+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
14+
15+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
16+
17+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
18+
19+
## Third subheading
20+
21+
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.

0 commit comments

Comments
 (0)