|
1 | 1 | import { isUndefined } from '../../shared/empty.util'; |
2 | 2 | import { v4 as uuidv4 } from 'uuid'; |
3 | 3 | import { MetadataMap, MetadataValue, MetadataValueFilter, MetadatumViewModel } from './metadata.models'; |
4 | | -import { Metadata } from './metadata.utils'; |
| 4 | +import { Metadata, PLACEHOLDER_VALUE } from './metadata.utils'; |
5 | 5 |
|
6 | 6 | const mdValue = (value: string, language?: string, authority?: string): MetadataValue => { |
7 | 7 | return Object.assign(new MetadataValue(), { |
@@ -306,4 +306,21 @@ describe('Metadata', () => { |
306 | 306 | testAllWithLimit(multiMap, 'dc.title', [dcTitle1], 1); |
307 | 307 | }); |
308 | 308 | }); |
| 309 | + |
| 310 | + describe('Placeholder values', () => { |
| 311 | + it('should ignore placeholder values in get methods', () => { |
| 312 | + const placeholderMd = mdValue(PLACEHOLDER_VALUE); |
| 313 | + const key = 'dc.test.placeholder'; |
| 314 | + const map = { 'dc.test.placeholder': [placeholderMd] }; |
| 315 | + |
| 316 | + expect(Metadata.all(map, key).length).toEqual(0); |
| 317 | + expect(Metadata.allValues(map, key).length).toEqual(0); |
| 318 | + expect(Metadata.has(map, key)).toBeFalsy(); |
| 319 | + expect(Metadata.first(map, key)).toBeUndefined(); |
| 320 | + expect(Metadata.firstValue(map, key)).toBeUndefined(); |
| 321 | + expect(Metadata.hasValue(placeholderMd)).toBeFalsy(); |
| 322 | + expect(Metadata.valueMatches(placeholderMd, null)).toBeFalsy(); |
| 323 | + }); |
| 324 | + }); |
| 325 | + |
309 | 326 | }); |
0 commit comments