mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
fix #1067 UI sends wrong request when creating new metadata field without qualifier
This commit is contained in:
@@ -326,6 +326,25 @@ describe('RegistryService', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when createMetadataField is called with a blank qualifier', () => {
|
||||
let result: Observable<MetadataField>;
|
||||
let metadataField: MetadataField;
|
||||
|
||||
beforeEach(() => {
|
||||
metadataField = mockFieldsList[0];
|
||||
metadataField.qualifier = '';
|
||||
result = registryService.createMetadataField(metadataField, mockSchemasList[0]);
|
||||
});
|
||||
|
||||
it('should return the created metadata field with a null qualifier', (done) => {
|
||||
metadataField.qualifier = null;
|
||||
result.subscribe((field: MetadataField) => {
|
||||
expect(field).toEqual(metadataField);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('when updateMetadataField is called', () => {
|
||||
let result: Observable<MetadataField>;
|
||||
|
||||
@@ -341,6 +360,25 @@ describe('RegistryService', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when updateMetadataField is called with a blank qualifier', () => {
|
||||
let result: Observable<MetadataField>;
|
||||
let metadataField: MetadataField;
|
||||
|
||||
beforeEach(() => {
|
||||
metadataField = mockFieldsList[0];
|
||||
metadataField.qualifier = '';
|
||||
result = registryService.updateMetadataField(metadataField);
|
||||
});
|
||||
|
||||
it('should return the updated metadata field with a null qualifier', (done) => {
|
||||
metadataField.qualifier = null;
|
||||
result.subscribe((field: MetadataField) => {
|
||||
expect(field).toEqual(metadataField);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('when deleteMetadataSchema is called', () => {
|
||||
let result: Observable<RemoteData<NoContent>>;
|
||||
|
||||
|
@@ -245,6 +245,9 @@ export class RegistryService {
|
||||
* @param schema The MetadataSchema to create the field in
|
||||
*/
|
||||
public createMetadataField(field: MetadataField, schema: MetadataSchema): Observable<MetadataField> {
|
||||
if (!field.qualifier) {
|
||||
field.qualifier = null;
|
||||
}
|
||||
return this.metadataFieldService.create(field, new RequestParam('schemaId', schema.id)).pipe(
|
||||
getFirstSucceededRemoteDataPayload(),
|
||||
hasValueOperator(),
|
||||
@@ -260,6 +263,9 @@ export class RegistryService {
|
||||
* @param field The MetadataField to update
|
||||
*/
|
||||
public updateMetadataField(field: MetadataField): Observable<MetadataField> {
|
||||
if (!field.qualifier) {
|
||||
field.qualifier = null;
|
||||
}
|
||||
return this.metadataFieldService.put(field).pipe(
|
||||
getFirstSucceededRemoteDataPayload(),
|
||||
hasValueOperator(),
|
||||
|
Reference in New Issue
Block a user