Skip to content

Commit 5c26a1e

Browse files
committed
Fixed: issue with optional inputLevels in collection creation
1 parent 3f4c242 commit 5c26a1e

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/collections/infra/repositories/CollectionsRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export class CollectionsRepository extends ApiRepository implements ICollections
6060
)
6161

6262
const inputLevelsRequestBody: NewCollectionInputLevelRequestPayload[] =
63-
collectionDTO.inputLevels.map((inputLevel) => ({
63+
collectionDTO.inputLevels?.map((inputLevel) => ({
6464
datasetFieldTypeName: inputLevel.datasetFieldName,
6565
include: inputLevel.include,
6666
required: inputLevel.required

test/integration/collections/CollectionsRepository.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,12 @@ describe('CollectionsRepository', () => {
9797
describe('createCollection', () => {
9898
const testCreateCollectionAlias1 = 'createCollection-test-1'
9999
const testCreateCollectionAlias2 = 'createCollection-test-2'
100+
const testCreateCollectionAlias3 = 'createCollection-test-3'
100101

101102
afterAll(async () => {
102103
await deleteCollectionViaApi(testCreateCollectionAlias1)
103104
await deleteCollectionViaApi(testCreateCollectionAlias2)
105+
await deleteCollectionViaApi(testCreateCollectionAlias3)
104106
})
105107

106108
test('should create collection in root when no parent collection is set', async () => {
@@ -132,6 +134,13 @@ describe('CollectionsRepository', () => {
132134
expect(typeof actualId).toBe('number')
133135
})
134136

137+
test('should create collection without input levels', async () => {
138+
const newCollectionDTO = createCollectionDTO(testCreateCollectionAlias3)
139+
newCollectionDTO.inputLevels = undefined
140+
const actualId = await sut.createCollection(newCollectionDTO, testCollectionId)
141+
expect(typeof actualId).toBe('number')
142+
})
143+
135144
test('should return error when parent collection does not exist', async () => {
136145
const expectedError = new WriteError(
137146
`[404] Can't find dataverse with identifier='${TestConstants.TEST_DUMMY_COLLECTION_ID}'`

0 commit comments

Comments
 (0)