@@ -9,10 +9,12 @@ import {
99import { CreateTemplateDTO } from '../../../src/templates/domain/dtos/CreateTemplateDTO'
1010import { MetadataFieldTypeClass } from '../../../src/metadataBlocks/domain/models/MetadataBlock'
1111import { deleteDatasetTemplateViaApi } from '../../testHelpers/datasets/datasetTemplatesHelper'
12+ import {
13+ createCollectionViaApi ,
14+ deleteCollectionViaApi
15+ } from '../../testHelpers/collections/collectionHelper'
1216
1317describe ( '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