mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-26 18:51:50 +02:00
* Update fetch-mock to version 12 * Replace `fetchMock.done` by `fetchMock.callHistory.done` * Replace `…Mock.called` by `…Mock.callHistory.called` * Replace `fetchMock.reset` by `fetchMock.hardReset` * Replace `fetchMock.restore` by `fetchMock.hardReset` * Replace `fetchMock.resetHistory` by `fetchMock.clearHistory` * Replace `fetchMock.calls` by `fetchMock.callHistory.calls` * Replace `fetchMock.flush` by `fetchMock.callHistory.flush` * Update tests for fetch-mock version 12 See https://www.wheresrhys.co.uk/fetch-mock/docs/Usage/upgrade-guide * Update stories for fetch-mock version 12 * Remove `overwriteRoutes` option * Add `fetchMock.spyGlobal()` to storybook * Remove deprecated `sendAsJson` param * Replace `fetchMock.hardReset()` by `fetchMock.removeRoutes().clearHistory()` * Fixup fetch-mock in storybook: Call `mockGlobal` inside the hook, call `removeRoutes` and `unmockGlobal` on cleanup Behaviour can be tested by navigating between https://storybook.dev-overleaf.com/main/?path=/story/editor-ai-error-assistant-compile-log-entries--first-log-entry https://storybook.dev-overleaf.com/main/?path=/story/editor-ai-error-assistant-compile-log-entries--rate-limited https://storybook.dev-overleaf.com/main/?path=/story/project-list-notifications--project-invite https://storybook.dev-overleaf.com/main/?path=/story/project-list-notifications--project-invite-network-error And clicking the buttons GitOrigin-RevId: 35611b4430259e4c21c3d819ad18b2e6dab66242
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import SecuritySection from '@/features/settings/components/security-section'
|
|
import { expect } from 'chai'
|
|
import { screen, render } from '@testing-library/react'
|
|
import fetchMock from 'fetch-mock'
|
|
|
|
describe('<SecuritySection />', function () {
|
|
afterEach(function () {
|
|
fetchMock.removeRoutes().clearHistory()
|
|
})
|
|
|
|
it('shows Group SSO rows in security section', async function () {
|
|
window.metaAttributesCache.set('ol-memberOfSSOEnabledGroups', [
|
|
{
|
|
groupId: 'abc123abc123',
|
|
linked: true,
|
|
},
|
|
{
|
|
groupId: 'fff999fff999',
|
|
linked: false,
|
|
},
|
|
])
|
|
render(<SecuritySection />)
|
|
|
|
expect(screen.getAllByText('Single Sign-On (SSO)').length).to.equal(2)
|
|
const link = screen.getByRole('button', {
|
|
name: /Set up SSO/i,
|
|
})
|
|
expect(link).to.exist
|
|
expect(link.getAttribute('href')).to.equal(
|
|
'/subscription/fff999fff999/sso_enrollment'
|
|
)
|
|
})
|
|
|
|
it('does not show the security section with no groups with SSO enabled', async function () {
|
|
window.metaAttributesCache.set('ol-memberOfSSOEnabledGroups', [])
|
|
render(<SecuritySection />)
|
|
|
|
expect(screen.queryByText('Security')).to.not.exist
|
|
})
|
|
})
|