Skip to content

Commit d7a1f4a

Browse files
committed
fix integration test
1 parent 2042bd3 commit d7a1f4a

File tree

1 file changed

+29
-54
lines changed

1 file changed

+29
-54
lines changed

test/integration/collections/CollectionsRepository.test.ts

Lines changed: 29 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import {
1212
ReadError,
1313
WriteError,
1414
createDataset,
15-
getCollection
15+
getCollection,
16+
createCollection
1617
} from '../../../src'
1718
import { ApiConfig } from '../../../src'
1819
import { 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'
4646
import { createApiTokenViaApi } from '../../testHelpers/users/apiTokenHelper'
4747

4848
describe('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

Comments
 (0)