import OutlinePane from '@/features/outline/components/outline-pane' import { EditorProviders, PROJECT_ID } from '../../../helpers/editor-providers' import { useState } from 'react' describe('', function () { it('renders expanded outline', function () { cy.mount( ) cy.findByRole('tree') }) it('renders disabled outline', function () { cy.mount( ) cy.findByRole('tree').should('not.exist') }) it('expand outline and use local storage', function () { window.localStorage.setItem(`file_outline.expanded.${PROJECT_ID}`, 'false') const onToggle = cy.stub() const Container = () => { const [expanded, setExpanded] = useState(false) return ( { window.localStorage.setItem( `file_outline.expanded.${PROJECT_ID}`, expanded ? 'false' : 'true' ) setExpanded(!expanded) }} /> ) } cy.mount( ) cy.findByRole('tree').should('not.exist') cy.findByRole('button', { name: 'Show File outline', }).click() cy.findByRole('tree').then(() => { expect(onToggle).to.be.calledTwice expect( window.localStorage.getItem(`file_outline.expanded.${PROJECT_ID}`) ).to.equal('true') }) }) it('shows warning on partial result', function () { cy.mount( ) cy.findByRole('status') }) it('shows no warning on non-partial result', function () { cy.mount( ) cy.findByRole('status').should('not.exist') }) })