77 deleteUnpublishedDatasetViaApi ,
88 waitForDatasetsIndexedInSolr ,
99 deletePublishedDatasetViaApi ,
10- deaccessionDatasetViaApi ,
11- createDatasetLicenseModel
10+ deaccessionDatasetViaApi
1211} from '../../testHelpers/datasets/datasetHelper'
1312import { ReadError } from '../../../src/core/domain/repositories/ReadError'
1413import {
@@ -19,8 +18,7 @@ import {
1918 createDataset ,
2019 CreatedDatasetIdentifiers ,
2120 DatasetDTO ,
22- DatasetDeaccessionDTO ,
23- publishDataset
21+ DatasetDeaccessionDTO
2422} from '../../../src/datasets'
2523import { ApiConfig , WriteError } from '../../../src'
2624import { DataverseApiAuthMechanism } from '../../../src/core/infra/repositories/ApiConfig'
@@ -33,23 +31,9 @@ import {
3331import {
3432 createCollectionViaApi ,
3533 deleteCollectionViaApi ,
36- publishCollectionViaApi ,
37- ROOT_COLLECTION_ALIAS ,
38- setStorageDriverViaApi
34+ ROOT_COLLECTION_ALIAS
3935} from '../../testHelpers/collections/collectionHelper'
40- import {
41- calculateBlobChecksum ,
42- createSinglepartFileBlob ,
43- testTextFile1Name ,
44- uploadFileViaApi
45- } from '../../testHelpers/files/filesHelper'
46- import {
47- DatasetVersionSummary ,
48- SummaryStringValues
49- } from '../../../src/datasets/domain/models/DatasetVersionInfo'
50- import { FilesRepository } from '../../../src/files/infra/repositories/FilesRepository'
51- import { DirectUploadClient } from '../../../src/files/infra/clients/DirectUploadClient'
52- import { createTestFileUploadDestination } from '../../testHelpers/files/fileUploadDestinationHelper'
36+ import { testTextFile1Name , uploadFileViaApi } from '../../testHelpers/files/filesHelper'
5337
5438const TEST_DIFF_DATASET_DTO : DatasetDTO = {
5539 license : {
@@ -95,9 +79,6 @@ describe('DatasetsRepository', () => {
9579 const sut : DatasetsRepository = new DatasetsRepository ( )
9680 const nonExistentTestDatasetId = 100
9781
98- const filesRepositorySut = new FilesRepository ( )
99- const directUploadSut : DirectUploadClient = new DirectUploadClient ( filesRepositorySut )
100-
10182 beforeAll ( async ( ) => {
10283 ApiConfig . init (
10384 TestConstants . TEST_API_URL ,
@@ -944,179 +925,4 @@ describe('DatasetsRepository', () => {
944925 ) . rejects . toBeInstanceOf ( WriteError )
945926 } )
946927 } )
947-
948- describe ( 'getDatasetVersions' , ( ) => {
949- const testDatasetVersionsCollectionAlias = 'testDatasetVersionsCollection'
950-
951- beforeAll ( async ( ) => {
952- await createCollectionViaApi ( testDatasetVersionsCollectionAlias )
953- await publishCollectionViaApi ( testDatasetVersionsCollectionAlias )
954- await setStorageDriverViaApi ( testDatasetVersionsCollectionAlias , 'LocalStack' )
955- } )
956-
957- afterAll ( async ( ) => {
958- await deleteCollectionViaApi ( testDatasetVersionsCollectionAlias )
959- } )
960-
961- test ( 'should return dataset versions when dataset exists' , async ( ) => {
962- const testDatasetIds = await createDataset . execute (
963- TestConstants . TEST_NEW_DATASET_DTO ,
964- testDatasetVersionsCollectionAlias
965- )
966-
967- const actual = await sut . getDatasetVersions ( testDatasetIds . numericId )
968-
969- expect ( actual . length ) . toBeGreaterThan ( 0 )
970- expect ( actual [ 0 ] . versionNumber ) . toBe ( 'DRAFT' )
971- expect ( actual [ 0 ] . summary ) . toBe ( SummaryStringValues . firstDraft )
972-
973- await deleteUnpublishedDatasetViaApi ( testDatasetIds . numericId )
974- } )
975-
976- test ( 'should return dataset versions correctly after first publish' , async ( ) => {
977- const testDatasetIds = await createDataset . execute (
978- TestConstants . TEST_NEW_DATASET_DTO ,
979- testDatasetVersionsCollectionAlias
980- )
981- await publishDataset . execute ( testDatasetIds . numericId , VersionUpdateType . MAJOR )
982-
983- await waitForNoLocks ( testDatasetIds . numericId , 10 )
984-
985- const actual = await sut . getDatasetVersions ( testDatasetIds . numericId )
986-
987- expect ( actual . length ) . toBeGreaterThan ( 0 )
988- expect ( actual [ 0 ] . versionNumber ) . toBe ( '1.0' )
989- expect ( actual [ 0 ] . summary ) . toBe ( SummaryStringValues . firstPublished )
990-
991- await deletePublishedDatasetViaApi ( testDatasetIds . persistentId )
992- } )
993-
994- test ( 'should return dataset versions correctly after 1st publish and metadata fields update' , async ( ) => {
995- const testDatasetIds = await createDataset . execute (
996- TestConstants . TEST_NEW_DATASET_DTO ,
997- testDatasetVersionsCollectionAlias
998- )
999- await publishDataset . execute ( testDatasetIds . numericId , VersionUpdateType . MAJOR )
1000-
1001- await waitForNoLocks ( testDatasetIds . numericId , 10 )
1002-
1003- const metadataBlocksRepository = new MetadataBlocksRepository ( )
1004- const citationMetadataBlock = await metadataBlocksRepository . getMetadataBlockByName (
1005- 'citation'
1006- )
1007-
1008- await sut . updateDataset (
1009- testDatasetIds . numericId ,
1010- {
1011- license : createDatasetLicenseModel ( true ) ,
1012- metadataBlockValues : [
1013- {
1014- name : 'citation' ,
1015- fields : {
1016- title : 'Updated Dataset Title'
1017- }
1018- }
1019- ]
1020- } ,
1021- [ citationMetadataBlock ]
1022- )
1023-
1024- const actual = await sut . getDatasetVersions ( testDatasetIds . numericId )
1025-
1026- expect ( actual . length ) . toEqual ( 2 )
1027-
1028- expect ( actual [ 0 ] . versionNumber ) . toBe ( 'DRAFT' )
1029- expect ( actual [ 0 ] . summary ) . toMatchObject < DatasetVersionSummary > ( {
1030- 'Citation Metadata' : {
1031- Title : {
1032- added : 0 ,
1033- deleted : 0 ,
1034- changed : 1
1035- }
1036- } ,
1037- files : {
1038- added : 0 ,
1039- removed : 0 ,
1040- replaced : 0 ,
1041- changedFileMetaData : 0 ,
1042- changedVariableMetadata : 0
1043- } ,
1044- termsAccessChanged : false
1045- } )
1046-
1047- expect ( actual [ 1 ] . versionNumber ) . toBe ( '1.0' )
1048- expect ( actual [ 1 ] . summary ) . toBe ( SummaryStringValues . firstPublished )
1049-
1050- await deletePublishedDatasetViaApi ( testDatasetIds . persistentId )
1051- } )
1052-
1053- test ( 'should return correct files summary' , async ( ) => {
1054- const testDatasetIds = await createDataset . execute (
1055- TestConstants . TEST_NEW_DATASET_DTO ,
1056- testDatasetVersionsCollectionAlias
1057- )
1058- await publishDataset . execute ( testDatasetIds . numericId , VersionUpdateType . MAJOR )
1059-
1060- await waitForNoLocks ( testDatasetIds . numericId , 10 )
1061-
1062- const singlepartFile = await createSinglepartFileBlob ( )
1063-
1064- const destination = await createTestFileUploadDestination (
1065- singlepartFile ,
1066- testDatasetIds . numericId
1067- )
1068-
1069- const actualStorageId = await directUploadSut . uploadFile (
1070- testDatasetIds . numericId ,
1071- singlepartFile ,
1072- jest . fn ( ) ,
1073- new AbortController ( ) ,
1074- destination
1075- )
1076-
1077- const fileArrayBuffer = await singlepartFile . arrayBuffer ( )
1078- const fileBuffer = Buffer . from ( fileArrayBuffer )
1079-
1080- const uploadedFileDTO = {
1081- fileName : singlepartFile . name ,
1082- storageId : actualStorageId ,
1083- checksumType : 'md5' ,
1084- checksumValue : calculateBlobChecksum ( fileBuffer , 'md5' ) ,
1085- mimeType : singlepartFile . type
1086- }
1087-
1088- await filesRepositorySut . addUploadedFilesToDataset ( testDatasetIds . numericId , [
1089- uploadedFileDTO
1090- ] )
1091-
1092- const actual = await sut . getDatasetVersions ( testDatasetIds . numericId )
1093-
1094- expect ( actual . length ) . toEqual ( 2 )
1095-
1096- expect ( actual [ 0 ] . versionNumber ) . toBe ( 'DRAFT' )
1097- expect ( actual [ 0 ] . summary ) . toMatchObject < DatasetVersionSummary > ( {
1098- files : {
1099- added : 1 ,
1100- removed : 0 ,
1101- replaced : 0 ,
1102- changedFileMetaData : 0 ,
1103- changedVariableMetadata : 0
1104- } ,
1105- termsAccessChanged : false
1106- } )
1107-
1108- expect ( actual [ 1 ] . versionNumber ) . toBe ( '1.0' )
1109- expect ( actual [ 1 ] . summary ) . toBe ( SummaryStringValues . firstPublished )
1110-
1111- await deletePublishedDatasetViaApi ( testDatasetIds . persistentId )
1112- } )
1113-
1114- test ( 'should return error when dataset does not exist' , async ( ) => {
1115- const expectedError = new ReadError (
1116- `[404] Dataset with ID ${ nonExistentTestDatasetId } not found.`
1117- )
1118-
1119- await expect ( sut . getDatasetVersions ( nonExistentTestDatasetId ) ) . rejects . toThrow ( expectedError )
1120- } )
1121- } )
1122928} )
0 commit comments