Skip to content

Commit 5706b60

Browse files
committed
fix: change FileVersion links only access to who canEditDataset
1 parent 2ede173 commit 5706b60

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

src/sections/file/file-version/FileVersions.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ export function FileVersions({
7777
const isCurrentVersion = fileVersion.datasetVersion === displayVersion
7878
const isLinkable =
7979
fileVersion.versionState === DatasetVersionState.RELEASED ||
80-
fileVersion.versionState === DatasetVersionState.DEACCESSIONED ||
80+
(fileVersion.versionState === DatasetVersionState.DEACCESSIONED &&
81+
canEditOwnerDataset) ||
8182
(fileVersion.versionState === DatasetVersionState.DRAFT && canEditOwnerDataset)
8283

8384
return (

tests/component/sections/file/file-version/FileVersions.spec.tsx

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,29 @@ describe('FileVersions', () => {
6767
)
6868
})
6969

70+
it('disables the link button for deaccessioned versions without permission', () => {
71+
const deaccessionedFile = [
72+
{
73+
...fileVersionSummaries[0],
74+
datasetVersion: '1.2',
75+
versionState: DatasetVersionState.DEACCESSIONED
76+
}
77+
]
78+
fileRepository.getFileVersionSummaries = cy.stub().resolves(deaccessionedFile)
79+
cy.customMount(
80+
<FileVersions
81+
fileId={1}
82+
datasetVersionNumber={'2.0'}
83+
fileRepository={fileRepository}
84+
canEditOwnerDataset={false}
85+
isInView
86+
/>
87+
)
88+
89+
cy.get('span').contains('1.2').should('exist')
90+
cy.findByTestId('file-version-link-1.2').should('not.exist')
91+
})
92+
7093
it('disables the link button for draft version without permission', () => {
7194
const draftFile = [
7295
{

0 commit comments

Comments
 (0)