streamlit
1/**
2* Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16
17describe("st.sidebar", () => {18before(() => {19cy.loadApp("http://localhost:3000/");20
21cy.prepForElementSnapshots();22});23
24it("displays sidebar correctly", () => {25cy.get("[data-testid='stSidebar']").matchThemedSnapshots("sidebar");26});27
28it("handles z-index of date input popover", () => {29cy.get("[data-testid='stSidebar'] .stDateInput").should("have.length", 2);30
31cy.get("[data-testid='stSidebar'] .stDateInput")32.first()33.click();34
35cy.get("[data-testid='stSidebar']").matchImageSnapshot(36"date-popover-sidebar",37{38force: true39}40);41});42
43it("handles overwriting elements", () => {44cy.get("[data-testid='stSidebar'] [data-testid='stText']").contains(45"overwritten"46);47});48
49it("collapses the sidebar on mobile resize", () => {50cy.viewport(800, 400);51cy.get("[data-testid='stSidebar']").should(52"have.attr",53"aria-expanded",54"true"55);56
57cy.viewport(400, 800);58cy.get("[data-testid='stSidebar']").should(59"have.attr",60"aria-expanded",61"false"62);63});64
65it("does not collapse on text input on mobile", () => {66cy.viewport(400, 800);67// Expand the sidebar on mobile, with a manual click68cy.get("[data-testid='collapsedControl'] button").click();69
70cy.get("[data-testid='stSidebar'] .stTextInput input").click();71
72cy.get("[data-testid='stSidebar']").should(73"have.attr",74"aria-expanded",75"true"76);77});78});79