fix: scrolling to the first item (#1753)

This commit is contained in:
AlexVarchuk 2021-09-27 12:21:59 +03:00 committed by GitHub
parent 3f6bf5febb
commit bccd21394e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 0 deletions

View File

@ -25,6 +25,29 @@ describe('Menu', () => {
.should('be.visible'); .should('be.visible');
}); });
it('should sync active menu items while scroll back and scroll again', () => {
cy.contains('h2', 'Add a new pet to the store')
.scrollIntoView()
.wait(100)
.get('[role=menuitem].active')
.children()
.last()
.should('have.text', 'Add a new pet to the store')
.should('be.visible');
cy.contains('h1', 'Swagger Petstore')
.scrollIntoView()
.wait(100)
cy.contains('h1', 'Introduction')
.scrollIntoView()
.wait(100)
.get('[role=menuitem].active')
.should('have.text', 'Introduction');
cy.url().should('include', '#section/Introduction');
});
it('should update URL hash when clicking on menu items', () => { it('should update URL hash when clicking on menu items', () => {
cy.contains('[role=menuitem].-depth1', 'pet').click({ force: true }); cy.contains('[role=menuitem].-depth1', 'pet').click({ force: true });
cy.location('hash').should('equal', '#tag/pet'); cy.location('hash').should('equal', '#tag/pet');

View File

@ -210,6 +210,7 @@ export class MenuStore {
this.deactivate(this.activeItem); this.deactivate(this.activeItem);
if (!item) { if (!item) {
this.activeItemIdx = -1;
this.history.replace('', rewriteHistory); this.history.replace('', rewriteHistory);
return; return;
} }