import { render, screen } from '@testing-library/react'
import FileViewRefreshError from '@/features/file-view/components/file-view-refresh-error'
import type { BinaryFile } from '@/features/file-view/types/binary-file'
import { expect } from 'chai'
describe('', function () {
describe('', function () {
it('shows correct error message for mendeley', async function () {
const mendeleyFile: BinaryFile<'mendeley'> = {
id: '123abc',
_id: '123abc',
linkedFileData: {
provider: 'mendeley',
importer_id: 'user123456',
},
created: new Date(2023, 1, 17, 3, 24),
name: 'references.bib',
type: 'file',
selected: true,
}
render(
)
screen.getByText(/Something’s not right!/)
screen.getByText(
/It looks like you need to re-link your Mendeley account./
)
const goToSettingsLink = screen.getByRole('link', {
name: 'Go to settings',
})
expect(goToSettingsLink.getAttribute('href')).to.equal('/user/settings')
})
it('shows correct error message for zotero', async function () {
const zoteroFile: BinaryFile<'zotero'> = {
id: '123abc',
_id: '123abc',
linkedFileData: {
provider: 'zotero',
importer_id: 'user123456',
},
created: new Date(2023, 1, 17, 3, 24),
name: 'references.bib',
type: 'file',
selected: true,
}
render(
)
screen.getByText(/Something’s not right!/)
screen.getByText(/It looks like you need to re-link your Zotero account./)
const goToSettingsLink = screen.getByRole('link', {
name: 'Go to settings',
})
expect(goToSettingsLink.getAttribute('href')).to.equal('/user/settings')
})
})
describe('', function () {
it('shows correct error message', function () {
const anotherProjectFile: BinaryFile<'project_file'> = {
id: '123abc',
_id: '123abc',
linkedFileData: {
provider: 'project_file',
source_project_id: 'some-id',
source_entity_path: '/path/',
},
created: new Date(2023, 1, 17, 3, 24),
name: 'frog.jpg',
type: 'file',
selected: true,
}
render(
)
screen.getByText('Access Denied: An error message')
})
})
})