fix
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
describe('Monaco Editor with Validation Pane', () => {
|
||||
beforeEach(() => {
|
||||
cy.visitBlankPage();
|
||||
cy.prepareAsyncAPI();
|
||||
cy.prepareOasGenerator();
|
||||
cy.waitForSplashScreen();
|
||||
|
||||
// move down to line 2, column 3
|
||||
const moveToPosition = `{downArrow}{rightArrow}{rightArrow}`;
|
||||
// introduce a typo error
|
||||
cy.get('.monaco-editor textarea:first', { timeout: 10000 })
|
||||
.should('be.visible')
|
||||
.click({ force: true })
|
||||
.focused()
|
||||
.type(`${moveToPosition}Q`);
|
||||
cy.waitForContentPropagation();
|
||||
});
|
||||
|
||||
/**
|
||||
* note: future UX may make the table header <thead> always visible,
|
||||
* or existing but collapsed
|
||||
* expect table body <tbody> to always not exist if there are no errors
|
||||
* make appropriate changes if/when needed
|
||||
*/
|
||||
it('should display visible Validation Pane table header and table body when error exists', () => {
|
||||
cy.get('.swagger-editor__validation-table')
|
||||
.should('exist')
|
||||
.get('.swagger-editor__validation-table > thead')
|
||||
.should('be.visible')
|
||||
.get('.swagger-editor__validation-table > tbody')
|
||||
.should('be.visible');
|
||||
// some additional assertions just to make sure
|
||||
cy.get('.swagger-editor__validation-table > thead > tr > :nth-child(1)')
|
||||
.contains('line', { matchCase: false })
|
||||
.should('be.visible');
|
||||
cy.get('.swagger-editor__validation-table > thead > tr > :nth-child(2)')
|
||||
.contains('description', { matchCase: false })
|
||||
.should('be.visible');
|
||||
// reflects line number from moveToPosition for validation error
|
||||
cy.get('.swagger-editor__validation-table > tbody > :nth-child(1) > :nth-child(1) > div')
|
||||
.contains('2')
|
||||
.should('be.visible');
|
||||
// validation error message is parser specific
|
||||
cy.get('.swagger-editor__validation-table > tbody > :nth-child(1) > :nth-child(2) > div')
|
||||
.contains('should NOT have')
|
||||
.should('be.visible');
|
||||
});
|
||||
|
||||
it('should not display Validation Pane after error is cleared', () => {
|
||||
// fix the typo error
|
||||
cy.get('.monaco-editor textarea:first', { timeout: 10000 })
|
||||
.should('be.visible')
|
||||
.click({ force: true })
|
||||
.focused()
|
||||
.type(`{backspace}`);
|
||||
// re-assert
|
||||
cy.get('.swagger-editor__validation-table > thead').should('not.exist');
|
||||
cy.get('.swagger-editor__validation-table > tbody').should('not.exist');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user