test fold set hierarchy
This commit is contained in:
parent
021eb06460
commit
7ae745162f
1 changed files with 35 additions and 2 deletions
|
|
@ -51,7 +51,7 @@ describe('set element layout', () => {
|
||||||
interceptAuthenticatedUser()
|
interceptAuthenticatedUser()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('opens a set from the dashboard and shows its full hierarchy', () => {
|
it('opens a set with a foldable element hierarchy', () => {
|
||||||
cy.intercept('GET', '**/api/sets', {
|
cy.intercept('GET', '**/api/sets', {
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
body: { sets: [{ id: 41, name: 'Bible' }] },
|
body: { sets: [{ id: 41, name: 'Bible' }] },
|
||||||
|
|
@ -79,13 +79,35 @@ describe('set element layout', () => {
|
||||||
cy.get('[data-element-id="1"] > .element-node__card')
|
cy.get('[data-element-id="1"] > .element-node__card')
|
||||||
.should('contain.text', 'Genesis')
|
.should('contain.text', 'Genesis')
|
||||||
.and('contain.text', 'book')
|
.and('contain.text', 'book')
|
||||||
|
.and('have.attr', 'aria-expanded', 'false')
|
||||||
|
.and('have.attr', 'aria-controls', 'element-children-1')
|
||||||
|
cy.get('[data-element-id="2"] > .element-node__card').should(
|
||||||
|
'not.match',
|
||||||
|
'button',
|
||||||
|
)
|
||||||
|
cy.get('[data-element-id="3"]').should('not.exist')
|
||||||
|
|
||||||
|
cy.get('[data-element-id="1"] > button.element-node__card').click()
|
||||||
|
cy.get('[data-element-id="1"] > .element-node__card').should(
|
||||||
|
'have.attr',
|
||||||
|
'aria-expanded',
|
||||||
|
'true',
|
||||||
|
)
|
||||||
cy.get('[data-element-id="1"] > ol > li').then(($nodes) => {
|
cy.get('[data-element-id="1"] > ol > li').then(($nodes) => {
|
||||||
expect([...$nodes].map((node) => node.dataset.elementId)).to.deep.equal([
|
expect([...$nodes].map((node) => node.dataset.elementId)).to.deep.equal([
|
||||||
'3',
|
'3',
|
||||||
'5',
|
'5',
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
cy.get('[data-element-id="3"] > ol > li')
|
cy.get('[data-element-id="4"]').should('not.exist')
|
||||||
|
|
||||||
|
cy.get('[data-element-id="3"] > button.element-node__card').click()
|
||||||
|
cy.get('[data-element-id="3"] > .element-node__card').should(
|
||||||
|
'have.attr',
|
||||||
|
'aria-expanded',
|
||||||
|
'true',
|
||||||
|
)
|
||||||
|
cy.get('#element-children-3 > li')
|
||||||
.should('have.length', 1)
|
.should('have.length', 1)
|
||||||
.and('have.attr', 'data-element-id', '4')
|
.and('have.attr', 'data-element-id', '4')
|
||||||
cy.contains('.element-node__card', 'Chapter 1')
|
cy.contains('.element-node__card', 'Chapter 1')
|
||||||
|
|
@ -93,6 +115,15 @@ describe('set element layout', () => {
|
||||||
.find('.element-node__kind')
|
.find('.element-node__kind')
|
||||||
.should('have.text', 'Chapter_sections-v2')
|
.should('have.text', 'Chapter_sections-v2')
|
||||||
.and('have.css', 'text-transform', 'none')
|
.and('have.css', 'text-transform', 'none')
|
||||||
|
|
||||||
|
cy.get('[data-element-id="1"] > button.element-node__card').click()
|
||||||
|
cy.get('[data-element-id="3"]').should('not.exist')
|
||||||
|
|
||||||
|
cy.get('[data-element-id="1"] > button.element-node__card').click()
|
||||||
|
cy.get('[data-element-id="4"] > .element-node__card').should(
|
||||||
|
'contain.text',
|
||||||
|
'Chapter 1',
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('shows loading and empty layout states', () => {
|
it('shows loading and empty layout states', () => {
|
||||||
|
|
@ -183,6 +214,8 @@ describe('set element layout', () => {
|
||||||
cy.wait('@me')
|
cy.wait('@me')
|
||||||
cy.wait('@layout')
|
cy.wait('@layout')
|
||||||
|
|
||||||
|
cy.get('[data-element-id="1"] > button.element-node__card').click()
|
||||||
|
cy.get('[data-element-id="3"] > button.element-node__card').click()
|
||||||
cy.contains('.element-node__card', 'Chapter 1').should('be.visible')
|
cy.contains('.element-node__card', 'Chapter 1').should('be.visible')
|
||||||
cy.document().then((document) => {
|
cy.document().then((document) => {
|
||||||
expect(document.documentElement.scrollWidth).to.be.at.most(
|
expect(document.documentElement.scrollWidth).to.be.at.most(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue