Skip to content

Commit 5a9f204

Browse files
committed
Isolate set default template functional test
1 parent 8ca4d8d commit 5a9f204

1 file changed

Lines changed: 34 additions & 13 deletions

File tree

test/functional/templates/SetTemplateAsDefault.test.ts

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ import {
99
import { CreateTemplateDTO } from '../../../src/templates/domain/dtos/CreateTemplateDTO'
1010
import { MetadataFieldTypeClass } from '../../../src/metadataBlocks/domain/models/MetadataBlock'
1111
import { deleteDatasetTemplateViaApi } from '../../testHelpers/datasets/datasetTemplatesHelper'
12+
import {
13+
createCollectionViaApi,
14+
deleteCollectionViaApi
15+
} from '../../testHelpers/collections/collectionHelper'
1216

1317
describe('SetTemplateAsDefault.execute', () => {
14-
const collectionIdOrAlias = ':root'
15-
1618
beforeEach(async () => {
1719
ApiConfig.init(
1820
TestConstants.TEST_API_URL,
@@ -23,6 +25,7 @@ describe('SetTemplateAsDefault.execute', () => {
2325

2426
test('should set the default template for a collection', async () => {
2527
const templateName = `TestDefaultTemplate-${Date.now()}`
28+
const collectionIdOrAlias = `setTemplateDefault${Date.now()}`
2629
const templateDto: CreateTemplateDTO = {
2730
name: templateName,
2831
isDefault: false,
@@ -55,21 +58,39 @@ describe('SetTemplateAsDefault.execute', () => {
5558
]
5659
}
5760

58-
await createTemplate.execute(templateDto, collectionIdOrAlias)
59-
const templatesAfterCreate = await getTemplatesByCollectionId.execute(collectionIdOrAlias)
60-
const createdTemplate = templatesAfterCreate.find((template) => template.name === templateName)
61+
let createdTemplateId: number | undefined
62+
let collectionCreated = false
6163

62-
if (!createdTemplate) {
63-
throw new Error('Created template was not found in collection templates.')
64-
}
64+
try {
65+
await createCollectionViaApi(collectionIdOrAlias)
66+
collectionCreated = true
67+
await createTemplate.execute(templateDto, collectionIdOrAlias)
68+
const templatesAfterCreate = await getTemplatesByCollectionId.execute(collectionIdOrAlias)
69+
const createdTemplate = templatesAfterCreate.find(
70+
(template) => template.name === templateName
71+
)
6572

66-
await setTemplateAsDefault.execute(createdTemplate.id, collectionIdOrAlias)
73+
if (!createdTemplate) {
74+
throw new Error('Created template was not found in collection templates.')
75+
}
6776

68-
const templatesAfterSet = await getTemplatesByCollectionId.execute(collectionIdOrAlias)
69-
const updatedTemplate = templatesAfterSet.find((template) => template.id === createdTemplate.id)
77+
createdTemplateId = createdTemplate.id
7078

71-
expect(updatedTemplate?.isDefault).toBe(true)
79+
await setTemplateAsDefault.execute(createdTemplate.id, collectionIdOrAlias)
7280

73-
await deleteDatasetTemplateViaApi(createdTemplate.id)
81+
const templatesAfterSet = await getTemplatesByCollectionId.execute(collectionIdOrAlias)
82+
const updatedTemplate = templatesAfterSet.find(
83+
(template) => template.id === createdTemplate.id
84+
)
85+
86+
expect(updatedTemplate?.isDefault).toBe(true)
87+
} finally {
88+
if (createdTemplateId !== undefined) {
89+
await deleteDatasetTemplateViaApi(createdTemplateId)
90+
}
91+
if (collectionCreated) {
92+
await deleteCollectionViaApi(collectionIdOrAlias)
93+
}
94+
}
7495
})
7596
})

0 commit comments

Comments
 (0)