Skip to content

Commit be0beb9

Browse files
committed
refactor: use enum for 'custom' also
1 parent 4d41dc5 commit be0beb9

File tree

6 files changed

+51
-51
lines changed

6 files changed

+51
-51
lines changed

src/collections/domain/models/CollectionFeaturedItem.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export type CollectionFeaturedItem = CustomFeaturedItem | DvObjectFeaturedItem
22

33
export interface CustomFeaturedItem {
44
id: number
5-
type: 'custom'
5+
type: FeaturedItemType.CUSTOM
66
content: string
77
imageFileName?: string
88
imageFileUrl?: string
@@ -11,13 +11,14 @@ export interface CustomFeaturedItem {
1111

1212
export interface DvObjectFeaturedItem {
1313
id: number
14-
type: DvObjectFeaturedItemType
14+
type: FeaturedItemType.COLLECTION | FeaturedItemType.DATASET | FeaturedItemType.FILE
1515
dvObjectIdentifier: string
1616
dvObjectDisplayName: string
1717
displayOrder: number
1818
}
1919

20-
export enum DvObjectFeaturedItemType {
20+
export enum FeaturedItemType {
21+
CUSTOM = 'custom',
2122
COLLECTION = 'collection',
2223
DATASET = 'dataset',
2324
FILE = 'file'

src/collections/infra/repositories/transformers/collectionFeaturedItemsTransformer.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {
22
CollectionFeaturedItem,
33
CustomFeaturedItem,
44
DvObjectFeaturedItem,
5-
DvObjectFeaturedItemType
5+
FeaturedItemType
66
} from '../../../domain/models/CollectionFeaturedItem'
77
import {
88
CollectionFeaturedItemPayload,
@@ -13,18 +13,18 @@ const apiTypeToDomainType: Record<
1313
DvObjectFeaturedItemPayload['type'],
1414
DvObjectFeaturedItem['type']
1515
> = {
16-
dataverse: DvObjectFeaturedItemType.COLLECTION,
17-
dataset: DvObjectFeaturedItemType.DATASET,
18-
datafile: DvObjectFeaturedItemType.FILE
16+
dataverse: FeaturedItemType.COLLECTION,
17+
dataset: FeaturedItemType.DATASET,
18+
datafile: FeaturedItemType.FILE
1919
}
2020

2121
export const domainTypeToApiType: Record<
2222
DvObjectFeaturedItem['type'],
2323
DvObjectFeaturedItemPayload['type']
2424
> = {
25-
[DvObjectFeaturedItemType.COLLECTION]: 'dataverse',
26-
[DvObjectFeaturedItemType.DATASET]: 'dataset',
27-
[DvObjectFeaturedItemType.FILE]: 'datafile'
25+
[FeaturedItemType.COLLECTION]: 'dataverse',
26+
[FeaturedItemType.DATASET]: 'dataset',
27+
[FeaturedItemType.FILE]: 'datafile'
2828
}
2929

3030
export const transformCollectionFeaturedItemsPayloadToCollectionFeaturedItems = (
@@ -35,7 +35,7 @@ export const transformCollectionFeaturedItemsPayloadToCollectionFeaturedItems =
3535
if (item.type === 'custom') {
3636
const customFeaturedItem: CustomFeaturedItem = {
3737
id: item.id,
38-
type: 'custom',
38+
type: FeaturedItemType.CUSTOM,
3939
content: item.content,
4040
imageFileUrl: item.imageFileUrl || undefined,
4141
imageFileName: item.imageFileName || undefined,

test/functional/collections/GetCollectionFeaturedItems.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { ROOT_COLLECTION_ID } from '../../../src/collections/domain/models/Colle
1616
import {
1717
CustomFeaturedItem,
1818
DvObjectFeaturedItem,
19-
DvObjectFeaturedItemType
19+
FeaturedItemType
2020
} from '../../../src/collections/domain/models/CollectionFeaturedItem'
2121

2222
describe('execute', () => {
@@ -95,7 +95,7 @@ describe('execute', () => {
9595
expect(featuredItemOne.imageFileName).toBe('featured-item-test-image.png')
9696

9797
expect(featuredItemTwo.id).toBe(testFeaturedItemIds[1])
98-
expect(featuredItemTwo.type).toBe(DvObjectFeaturedItemType.COLLECTION)
98+
expect(featuredItemTwo.type).toBe(FeaturedItemType.COLLECTION)
9999
expect(featuredItemTwo.dvObjectIdentifier).toBe(featuredCollectionAlias)
100100
expect(featuredItemTwo.dvObjectDisplayName).toBe('Scientific Research')
101101
expect(featuredItemTwo.displayOrder).toBe(2)

test/functional/collections/UpdateCollectionFeaturedItems.test.ts

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ import {
2424
import {
2525
CustomFeaturedItem,
2626
DvObjectFeaturedItem,
27-
DvObjectFeaturedItemType
28-
// DvObjectFeaturedItemType
27+
FeaturedItemType
2928
} from '../../../src/collections/domain/models/CollectionFeaturedItem'
3029
import { uploadFileViaApi } from '../../testHelpers/files/filesHelper'
3130
import {
@@ -106,38 +105,38 @@ describe('execute', () => {
106105
it('should successfully update the featured items of a collection', async () => {
107106
const newFeaturedItems: CollectionFeaturedItemsDTO = [
108107
{
109-
type: 'custom',
108+
type: FeaturedItemType.CUSTOM,
110109
content: '<p class="rte-paragraph">Test content 1</p>',
111110
displayOrder: 0,
112111
file: undefined,
113112
keepFile: false
114113
},
115114
{
116-
type: 'custom',
115+
type: FeaturedItemType.CUSTOM,
117116
content: '<p class="rte-paragraph">Test content 2</p>',
118117
displayOrder: 1,
119118
file: undefined,
120119
keepFile: false
121120
},
122121
{
123-
type: 'custom',
122+
type: FeaturedItemType.CUSTOM,
124123
content: CONTENT_FIELD_WITH_ALL_TAGS,
125124
displayOrder: 2,
126125
file: createImageFile('featured-item-test-image-3.png'),
127126
keepFile: false
128127
},
129128
{
130-
type: DvObjectFeaturedItemType.COLLECTION,
129+
type: FeaturedItemType.COLLECTION,
131130
dvObjectIdentifier: featuredCollectionAlias,
132131
displayOrder: 3
133132
},
134133
{
135-
type: DvObjectFeaturedItemType.DATASET,
134+
type: FeaturedItemType.DATASET,
136135
dvObjectIdentifier: testDatasetIds.persistentId,
137136
displayOrder: 4
138137
},
139138
{
140-
type: DvObjectFeaturedItemType.FILE,
139+
type: FeaturedItemType.FILE,
141140
dvObjectIdentifier: featuredFileId.toString(),
142141
displayOrder: 5
143142
}
@@ -174,21 +173,21 @@ describe('execute', () => {
174173
`http://localhost:8080/api/access/dataverseFeaturedItemImage/${updatedFeaturedItemsResponse[2].id}`
175174
)
176175

177-
expect(fourthItemResponse.type).toBe(DvObjectFeaturedItemType.COLLECTION)
176+
expect(fourthItemResponse.type).toBe(FeaturedItemType.COLLECTION)
178177
expect(fourthItemResponse.dvObjectIdentifier).toBe(featuredCollectionAlias)
179178
expect(fourthItemResponse.dvObjectDisplayName).toBe('Scientific Research')
180179
expect(fourthItemResponse.displayOrder).toBe(newFeaturedItems[3].displayOrder)
181180
expect(fourthItemResponse.id).toBeDefined()
182181

183-
expect(fifthItemResponse.type).toBe(DvObjectFeaturedItemType.DATASET)
182+
expect(fifthItemResponse.type).toBe(FeaturedItemType.DATASET)
184183
expect(fifthItemResponse.dvObjectIdentifier).toBe(testDatasetIds.persistentId)
185184
expect(fifthItemResponse.dvObjectDisplayName).toBe(
186185
'Dataset created using the createDataset use case'
187186
)
188187
expect(fifthItemResponse.displayOrder).toBe(newFeaturedItems[4].displayOrder)
189188
expect(fifthItemResponse.id).toBeDefined()
190189

191-
expect(sixthItemResponse.type).toBe(DvObjectFeaturedItemType.FILE)
190+
expect(sixthItemResponse.type).toBe(FeaturedItemType.FILE)
192191
expect(sixthItemResponse.dvObjectIdentifier).toBe(featuredFileId.toString())
193192
expect(sixthItemResponse.dvObjectDisplayName).toBe(testTextFile1Name)
194193
expect(sixthItemResponse.displayOrder).toBe(newFeaturedItems[5].displayOrder)
@@ -198,21 +197,21 @@ describe('execute', () => {
198197
test('should throw an error when collection does not exist', async () => {
199198
const newFeaturedItems: CollectionFeaturedItemsDTO = [
200199
{
201-
type: 'custom',
200+
type: FeaturedItemType.CUSTOM,
202201
content: '<p class="rte-paragraph">Test content 1</p>',
203202
displayOrder: 0,
204203
file: undefined,
205204
keepFile: false
206205
},
207206
{
208-
type: 'custom',
207+
type: FeaturedItemType.CUSTOM,
209208
content: '<p class="rte-paragraph">Test content 2</p>',
210209
displayOrder: 1,
211210
file: undefined,
212211
keepFile: false
213212
},
214213
{
215-
type: 'custom',
214+
type: FeaturedItemType.CUSTOM,
216215
content: '<p class="rte-paragraph">Test content 3</p>',
217216
displayOrder: 2,
218217
file: createImageFile('featured-item-test-image-3.png'),
@@ -237,7 +236,7 @@ describe('execute', () => {
237236
test('should throw an error when featured item content is empty', async () => {
238237
const newFeaturedItems: CollectionFeaturedItemsDTO = [
239238
{
240-
type: 'custom',
239+
type: FeaturedItemType.CUSTOM,
241240
content: '',
242241
displayOrder: 0,
243242
file: undefined,
@@ -297,7 +296,7 @@ describe('execute', () => {
297296
const newFeaturedItems: CollectionFeaturedItemsDTO = [
298297
{
299298
id: testFeaturedItemId,
300-
type: 'custom',
299+
type: FeaturedItemType.CUSTOM,
301300
content: '<p class="rte-paragraph">Test content Updated</p>',
302301
displayOrder: 0,
303302
file: undefined,
@@ -327,7 +326,7 @@ describe('execute', () => {
327326
const newFeaturedItems: CollectionFeaturedItemsDTO = [
328327
{
329328
id: testFeaturedItemId,
330-
type: 'custom',
329+
type: FeaturedItemType.CUSTOM,
331330
content: '<p class="rte-paragraph">Test content Updated</p>',
332331
displayOrder: 0,
333332
file: undefined,
@@ -354,7 +353,7 @@ describe('execute', () => {
354353
const newFeaturedItems: CollectionFeaturedItemsDTO = [
355354
{
356355
id: testFeaturedItemId,
357-
type: 'custom',
356+
type: FeaturedItemType.CUSTOM,
358357
content: '<p class="rte-paragraph">Test content Updated</p>',
359358
displayOrder: 0,
360359
file: createImageFile('featured-item-test-image-updated.png'),
@@ -383,7 +382,7 @@ describe('execute', () => {
383382
const newFeaturedItems: CollectionFeaturedItemsDTO = [
384383
{
385384
id: testFeaturedItemId,
386-
type: 'custom',
385+
type: FeaturedItemType.CUSTOM,
387386
content: '<p class="rte-paragraph">Test content Updated</p>',
388387
displayOrder: 0,
389388
file: createImageFile('featured-item-test-image-updated.png'),

test/integration/collections/CollectionsRepository.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import {
4949
import { createApiTokenViaApi } from '../../testHelpers/users/apiTokenHelper'
5050
import {
5151
CustomFeaturedItem,
52-
DvObjectFeaturedItemType
52+
FeaturedItemType
5353
} from '../../../src/collections/domain/models/CollectionFeaturedItem'
5454
import { DvObjectFeaturedItemDTO } from '../../../src/collections/domain/dtos/CollectionFeaturedItemsDTO'
5555

@@ -1207,21 +1207,21 @@ describe('CollectionsRepository', () => {
12071207
it('should update collection featured items sending all new items', async () => {
12081208
const newFeaturedItems: CollectionFeaturedItemsDTO = [
12091209
{
1210-
type: 'custom',
1210+
type: FeaturedItemType.CUSTOM,
12111211
content: '<p class="rte-paragraph">Test content 1</p>',
12121212
displayOrder: 0,
12131213
file: undefined,
12141214
keepFile: false
12151215
},
12161216
{
1217-
type: 'custom',
1217+
type: FeaturedItemType.CUSTOM,
12181218
content: '<p class="rte-paragraph">Test content 2</p>',
12191219
displayOrder: 1,
12201220
file: undefined,
12211221
keepFile: false
12221222
},
12231223
{
1224-
type: 'custom',
1224+
type: FeaturedItemType.CUSTOM,
12251225
content: '<p class="rte-paragraph">Test content 3</p>',
12261226
displayOrder: 2,
12271227
file: createImageFile('featured-item-test-image-3.png'),
@@ -1264,7 +1264,7 @@ describe('CollectionsRepository', () => {
12641264
const invalidCollectionAlias = 'invalid-collection-alias'
12651265
const newFeaturedItems: DvObjectFeaturedItemDTO[] = [
12661266
{
1267-
type: DvObjectFeaturedItemType.COLLECTION,
1267+
type: FeaturedItemType.COLLECTION,
12681268
dvObjectIdentifier: invalidCollectionAlias,
12691269
displayOrder: 0
12701270
}
@@ -1282,7 +1282,7 @@ describe('CollectionsRepository', () => {
12821282
const invalidDatasetPersistentId = 'doi:10.5072/FK2/INVALID_DATASET'
12831283
const newFeaturedItems: DvObjectFeaturedItemDTO[] = [
12841284
{
1285-
type: DvObjectFeaturedItemType.DATASET,
1285+
type: FeaturedItemType.DATASET,
12861286
dvObjectIdentifier: invalidDatasetPersistentId,
12871287
displayOrder: 0
12881288
}
@@ -1299,7 +1299,7 @@ describe('CollectionsRepository', () => {
12991299
const invalidFileId = '99'
13001300
const newFeaturedItems: DvObjectFeaturedItemDTO[] = [
13011301
{
1302-
type: DvObjectFeaturedItemType.FILE,
1302+
type: FeaturedItemType.FILE,
13031303
dvObjectIdentifier: invalidFileId,
13041304
displayOrder: 0
13051305
}
@@ -1318,7 +1318,7 @@ describe('CollectionsRepository', () => {
13181318

13191319
const newFeaturedItems: DvObjectFeaturedItemDTO[] = [
13201320
{
1321-
type: DvObjectFeaturedItemType.COLLECTION,
1321+
type: FeaturedItemType.COLLECTION,
13221322
dvObjectIdentifier: unpublishedCollectionAlias,
13231323
displayOrder: 0
13241324
}
@@ -1338,7 +1338,7 @@ describe('CollectionsRepository', () => {
13381338

13391339
const newFeaturedItems: DvObjectFeaturedItemDTO[] = [
13401340
{
1341-
type: DvObjectFeaturedItemType.DATASET,
1341+
type: FeaturedItemType.DATASET,
13421342
dvObjectIdentifier: testDatasetIds.persistentId,
13431343
displayOrder: 0
13441344
}
@@ -1372,7 +1372,7 @@ describe('CollectionsRepository', () => {
13721372

13731373
const newFeaturedItems: DvObjectFeaturedItemDTO[] = [
13741374
{
1375-
type: DvObjectFeaturedItemType.FILE,
1375+
type: FeaturedItemType.FILE,
13761376
dvObjectIdentifier: fileId.toString(),
13771377
displayOrder: 0
13781378
}

0 commit comments

Comments
 (0)