@@ -12,7 +12,8 @@ import {
1212 ReadError ,
1313 WriteError ,
1414 createDataset ,
15- getCollection
15+ getCollection ,
16+ createCollection
1617} from '../../../src'
1718import { ApiConfig } from '../../../src'
1819import { DataverseApiAuthMechanism } from '../../../src/core/infra/repositories/ApiConfig'
@@ -42,7 +43,6 @@ import {
4243 deleteCollectionFeaturedItemsViaApi ,
4344 deleteCollectionFeaturedItemViaApi
4445} from '../../testHelpers/collections/collectionFeaturedItemsHelper'
45- import { CollectionItemsFacet } from '../../../src/collections/domain/models/CollectionItemSubset'
4646import { createApiTokenViaApi } from '../../testHelpers/users/apiTokenHelper'
4747
4848describe ( 'CollectionsRepository' , ( ) => {
@@ -1331,6 +1331,7 @@ describe('CollectionsRepository', () => {
13311331
13321332 const testTextFile1Name = 'test-file-2.txt'
13331333 const testSubCollectionAlias = 'collectionsRepositoryMyDataCollection'
1334+ const testCollectionName = 'Scientific Research'
13341335 beforeAll ( async ( ) => {
13351336 const myDataUserApiToken = await createApiTokenViaApi ( 'myDataUser' )
13361337 ApiConfig . init (
@@ -1339,13 +1340,22 @@ describe('CollectionsRepository', () => {
13391340 myDataUserApiToken
13401341 )
13411342 process . env . TEST_API_KEY = myDataUserApiToken
1342-
1343+ const collectionDTO = createCollectionDTO ( testSubCollectionAlias )
1344+ await createCollection . execute ( collectionDTO , testCollectionAlias ) . catch ( ( ) => {
1345+ throw new Error (
1346+ `Tests beforeAll(): Error while creating subcollection ${ testSubCollectionAlias } `
1347+ )
1348+ } )
1349+ /*
1350+ This does not work, it doesn't return the collection - even though calling the use case does work.
13431351 await createCollectionViaApi(testSubCollectionAlias).catch((error) => {
13441352 console.log(error.message)
13451353 throw new Error(
13461354 `Tests beforeAll(): Error while creating subcollection ${testSubCollectionAlias}`
13471355 )
13481356 })
1357+
1358+ */
13491359 try {
13501360 testDatasetIds = await createDataset . execute (
13511361 TestConstants . TEST_NEW_DATASET_DTO ,
@@ -1376,17 +1386,15 @@ describe('CollectionsRepository', () => {
13761386 )
13771387 }
13781388 } )
1379- // TODO: remove this skip when the test is fixed
1380- test . skip ( 'should return collection items given valid roleIds' , async ( ) => {
1389+ test ( 'should return collection items given valid roleIds' , async ( ) => {
13811390 // Give enough time to Solr for indexing
13821391 await new Promise ( ( resolve ) => setTimeout ( resolve , 5000 ) )
13831392 await getCollection . execute ( testSubCollectionAlias ) . then ( ( collection ) => {
13841393 expect ( collection ) . toBeDefined ( )
1385- expect ( collection . name ) . toBe ( 'Scientific Research ' )
1394+ expect ( collection . name ) . toBe ( 'Test Collection ' )
13861395 expect ( collection . alias ) . toBe ( testSubCollectionAlias )
1387- expect ( collection . description ) . toBe ( 'We do all the science.' )
1388- expect ( collection . affiliation ) . toBe ( 'Scientific Research University' )
1389- console . log ( `Collection ${ testSubCollectionAlias } created successfully` , collection )
1396+ expect ( collection . description ) . toBe ( 'test description' )
1397+ expect ( collection . affiliation ) . toBe ( 'test affiliation' )
13901398 } )
13911399 // TODO: replace this with API call to get the role ids
13921400 const roleIds = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ]
@@ -1401,7 +1409,6 @@ describe('CollectionsRepository', () => {
14011409 collectionItemTypes ,
14021410 publicationStatuses
14031411 )
1404- console . log ( actual )
14051412 const actualFilePreview = actual . items . find (
14061413 ( item ) => item . type === CollectionItemType . FILE
14071414 ) as FilePreview
@@ -1416,7 +1423,7 @@ describe('CollectionsRepository', () => {
14161423 const expectedDatasetCitationFragment = `Admin, Dataverse; Owner, Dataverse, ${ currentYear } , "Dataset created using the createDataset use case"`
14171424 const expectedDatasetDescription = 'Dataset created using the createDataset use case'
14181425 const expectedFileName = 'test-file-2.txt'
1419- const expectedCollectionsName = 'Scientific Research '
1426+ const expectedCollectionsName = 'Test Collection '
14201427
14211428 const expectedFacetsAll = [
14221429 {
@@ -1479,15 +1486,13 @@ describe('CollectionsRepository', () => {
14791486
14801487 expect ( actualCollectionPreview . name ) . toBe ( expectedCollectionsName )
14811488 expect ( actualCollectionPreview . alias ) . toBe ( testSubCollectionAlias )
1482- expect ( actualCollectionPreview . description ) . toBe ( 'We do all the science. ' )
1489+ expect ( actualCollectionPreview . description ) . toBe ( 'test description ' )
14831490 expect ( actualCollectionPreview . imageUrl ) . toBe ( undefined )
14841491 expect ( actualCollectionPreview . parentAlias ) . toBe ( testCollectionAlias )
1485- expect ( actualCollectionPreview . parentName ) . toBe ( expectedCollectionsName )
1492+ expect ( actualCollectionPreview . parentName ) . toBe ( testCollectionName )
14861493 expect ( actualCollectionPreview . publicationStatuses [ 0 ] ) . toBe ( PublicationStatus . Unpublished )
14871494 expect ( actualCollectionPreview . releaseOrCreateDate ) . not . toBeUndefined ( )
1488- expect ( actualCollectionPreview . affiliation ) . toBe ( 'Scientific Research University' )
1489- expect ( actualCollectionPreview . parentAlias ) . toBe ( 'collectionsRepositoryTestCollection' )
1490- expect ( actualCollectionPreview . parentName ) . toBe ( expectedCollectionsName )
1495+ expect ( actualCollectionPreview . affiliation ) . toBe ( 'test affiliation' )
14911496 expect ( actualCollectionPreview . type ) . toBe ( CollectionItemType . COLLECTION )
14921497
14931498 expect ( actual . facets ) . toEqual ( expectedFacetsAll )
@@ -1505,21 +1510,21 @@ describe('CollectionsRepository', () => {
15051510 expect ( actual . totalItemCount ) . toBe ( 3 )
15061511
15071512 // Test search text
1508- const fileNameSearchText = 'test-fi '
1513+ const fileNameSearchText = 'file-2 '
15091514
1510- actual = await sut . getMyDataCollectionItems (
1515+ const actualFileResult = await sut . getMyDataCollectionItems (
15111516 roleIds ,
15121517 collectionItemTypes ,
15131518 publicationStatuses ,
15141519 undefined ,
15151520 undefined ,
15161521 fileNameSearchText
15171522 )
1518- expect ( actual . totalItemCount ) . toBe ( 1 )
1519- expect ( ( actual . items [ 0 ] as FilePreview ) . name ) . toBe ( expectedFileName )
1520- expect ( actual . countPerObjectType . collections ) . toBe ( 0 )
1521- expect ( actual . countPerObjectType . datasets ) . toBe ( 0 )
1522- expect ( actual . countPerObjectType . files ) . toBe ( 1 )
1523+ expect ( actualFileResult . totalItemCount ) . toBe ( 1 )
1524+ expect ( ( actualFileResult . items [ 0 ] as FilePreview ) . name ) . toBe ( expectedFileName )
1525+ expect ( actualFileResult . countPerObjectType . collections ) . toBe ( 0 )
1526+ expect ( actualFileResult . countPerObjectType . datasets ) . toBe ( 0 )
1527+ expect ( actualFileResult . countPerObjectType . files ) . toBe ( 1 )
15231528
15241529 const datasetSearchText = 'This is the description'
15251530
@@ -1537,36 +1542,6 @@ describe('CollectionsRepository', () => {
15371542 expect ( actual . countPerObjectType . datasets ) . toBe ( 1 )
15381543 expect ( actual . countPerObjectType . files ) . toBe ( 0 )
15391544
1540- const searchTextForDatasetAndCollection = 'the'
1541- actual = await sut . getMyDataCollectionItems (
1542- roleIds ,
1543- collectionItemTypes ,
1544- publicationStatuses ,
1545- undefined ,
1546- undefined ,
1547- searchTextForDatasetAndCollection
1548- )
1549- expect ( actual . totalItemCount ) . toBe ( 3 )
1550- expect ( ( actual . items [ 0 ] as DatasetPreview ) . title ) . toBe ( expectedDatasetDescription )
1551- expect ( ( actual . items [ 1 ] as CollectionPreview ) . name ) . toBe ( expectedCollectionsName )
1552- expect ( ( actual . items [ 2 ] as CollectionPreview ) . name ) . toBe ( expectedCollectionsName )
1553- expect ( actual . facets as CollectionItemsFacet [ ] ) . toEqual ( [
1554- {
1555- name : 'publicationStatus' ,
1556- friendlyName : 'Publication Status' ,
1557- labels : [
1558- { name : 'Published' , count : 0 } ,
1559- { name : 'Unpublished' , count : 2 } ,
1560- { name : 'Draft' , count : 1 } ,
1561- { name : 'In Review' , count : 0 } ,
1562- { name : 'Deaccessioned' , count : 0 }
1563- ]
1564- }
1565- ] )
1566- expect ( actual . countPerObjectType . collections ) . toBe ( 1 )
1567- expect ( actual . countPerObjectType . datasets ) . toBe ( 1 )
1568- expect ( actual . countPerObjectType . files ) . toBe ( 0 )
1569-
15701545 // Test search text, limit and offset
15711546 // TODO: run this test when the limit param has been fixed in the Dataverse API
15721547 /*
@@ -1688,7 +1663,7 @@ describe('CollectionsRepository', () => {
16881663 expect ( actual . totalItemCount ) . toBe ( 2 )
16891664 expect ( ( actual . items [ 0 ] as FilePreview ) . name ) . toBe ( expectedFileName )
16901665 expect ( ( actual . items [ 1 ] as CollectionPreview ) . name ) . toBe ( expectedCollectionsName )
1691- expect ( actual . countPerObjectType . collections ) . toBe ( 2 )
1666+ expect ( actual . countPerObjectType . collections ) . toBe ( 1 )
16921667 expect ( actual . countPerObjectType . datasets ) . toBe ( 0 )
16931668 expect ( actual . countPerObjectType . files ) . toBe ( 1 )
16941669 } )
0 commit comments