import { screen, within } from '@testing-library/dom' import { expect } from 'chai' import sinon from 'sinon' import fetchMock from 'fetch-mock' import SettingsDocument from '../../../../../../frontend/js/features/editor-left-menu/components/settings/settings-document' import * as isValidTeXFileModule from '../../../../../../frontend/js/main/is-valid-tex-file' import { renderWithEditorContext } from '../../../../helpers/render-with-context' import type { MainDocument } from '../../../../../../types/project-settings' describe('', function () { let isValidTeXFileStub: sinon.SinonStub const docs: MainDocument[] = [ { path: 'main.tex', doc: { name: 'main.tex', id: '123abc', type: 'doc', selected: false, } as MainDocument['doc'], }, ] beforeEach(function () { isValidTeXFileStub = sinon .stub(isValidTeXFileModule, 'default') .returns(true) }) afterEach(function () { fetchMock.reset() isValidTeXFileStub.restore() }) it('shows correct menu', async function () { renderWithEditorContext(, { scope: { docs, }, }) const select = screen.getByLabelText('Main document') const optionOn = within(select).getByText('main.tex') expect(optionOn.getAttribute('value')).to.equal('123abc') }) })