11import { CollectionsRepository } from '../../../src/collections/infra/repositories/CollectionsRepository'
22import { TestConstants } from '../../testHelpers/TestConstants'
33import {
4+ CollectionPreview ,
45 CreatedDatasetIdentifiers ,
56 DatasetPreview ,
67 FilePreview ,
@@ -212,13 +213,20 @@ describe('CollectionsRepository', () => {
212213
213214 describe ( 'getCollectionItems' , ( ) => {
214215 let testDatasetIds : CreatedDatasetIdentifiers
216+
215217 const testTextFile1Name = 'test-file-1.txt'
218+ const testSubCollectionAlias = 'collectionsRepositoryTestSubCollection'
216219
217220 beforeAll ( async ( ) => {
221+ await createCollectionViaApi ( testSubCollectionAlias , testCollectionAlias ) . catch ( ( ) => {
222+ throw new Error (
223+ `Tests beforeAll(): Error while creating subcollection ${ testSubCollectionAlias } `
224+ )
225+ } )
218226 try {
219227 testDatasetIds = await createDataset . execute (
220228 TestConstants . TEST_NEW_DATASET_DTO ,
221- testCollectionAlias
229+ testSubCollectionAlias
222230 )
223231 } catch ( error ) {
224232 throw new Error ( 'Tests beforeAll(): Error while creating test dataset' )
@@ -232,7 +240,16 @@ describe('CollectionsRepository', () => {
232240 try {
233241 await deleteUnpublishedDatasetViaApi ( testDatasetIds . numericId )
234242 } catch ( error ) {
235- throw new Error ( 'Tests afterAll(): Error while deleting test dataset' )
243+ throw new Error (
244+ `Tests afterAll(): Error while deleting test dataset ${ testDatasetIds . numericId } `
245+ )
246+ }
247+ try {
248+ await deleteCollectionViaApi ( testSubCollectionAlias )
249+ } catch ( error ) {
250+ throw new Error (
251+ `Tests afterAll(): Error while deleting subcollection ${ testSubCollectionAlias } `
252+ )
236253 }
237254 } )
238255
@@ -243,6 +260,7 @@ describe('CollectionsRepository', () => {
243260 let actual = await sut . getCollectionItems ( testCollectionAlias )
244261 const actualFilePreview = actual . items [ 0 ] as FilePreview
245262 const actualDatasetPreview = actual . items [ 1 ] as DatasetPreview
263+ const actualCollectionPreview = actual . items [ 2 ] as CollectionPreview
246264
247265 const expectedFileMd5 = '68b22040025784da775f55cfcb6dee2e'
248266 const expectedDatasetCitationFragment =
@@ -264,6 +282,7 @@ describe('CollectionsRepository', () => {
264282 expect ( actualFilePreview . publicationStatuses [ 1 ] ) . toBe ( PublicationStatus . Draft )
265283 expect ( actualFilePreview . sizeInBytes ) . toBe ( 12 )
266284 expect ( actualFilePreview . url ) . not . toBeUndefined ( )
285+ expect ( actualFilePreview . releaseOrCreateDate ) . not . toBeUndefined ( )
267286
268287 expect ( actualDatasetPreview . title ) . toBe ( 'Dataset created using the createDataset use case' )
269288 expect ( actualDatasetPreview . citation ) . toContain ( expectedDatasetCitationFragment )
@@ -279,12 +298,23 @@ describe('CollectionsRepository', () => {
279298 expect ( actualDatasetPreview . versionInfo . minorNumber ) . toBeUndefined ( )
280299 expect ( actualDatasetPreview . versionInfo . state ) . toBe ( 'DRAFT' )
281300
282- expect ( actual . totalItemCount ) . toBe ( 2 )
301+ const expectedCollectionsName = 'Scientific Research'
302+ expect ( actualCollectionPreview . name ) . toBe ( expectedCollectionsName )
303+ expect ( actualCollectionPreview . alias ) . toBe ( testSubCollectionAlias )
304+ expect ( actualCollectionPreview . description ) . toBe ( 'We do all the science.' )
305+ expect ( actualCollectionPreview . imageUrl ) . toBe ( undefined )
306+ expect ( actualCollectionPreview . parentAlias ) . toBe ( testCollectionAlias )
307+ expect ( actualCollectionPreview . parentName ) . toBe ( expectedCollectionsName )
308+ expect ( actualCollectionPreview . publicationStatuses [ 0 ] ) . toBe ( PublicationStatus . Unpublished )
309+ expect ( actualCollectionPreview . releaseOrCreateDate ) . not . toBeUndefined ( )
310+ expect ( actualCollectionPreview . affiliation ) . toBe ( 'Scientific Research University' )
311+
312+ expect ( actual . totalItemCount ) . toBe ( 3 )
283313
284314 // Test limit and offset
285315 actual = await sut . getCollectionItems ( testCollectionAlias , 1 , 1 )
286316 expect ( ( actual . items [ 0 ] as DatasetPreview ) . persistentId ) . toBe ( testDatasetIds . persistentId )
287- expect ( actual . totalItemCount ) . toBe ( 2 )
317+ expect ( actual . totalItemCount ) . toBe ( 3 )
288318 } )
289319
290320 test ( 'should return error when collection does not exist' , async ( ) => {
0 commit comments