Change Mapper to allow mapping of multiple Holdings

Description

  • Extend Mapper.map() logic to check if the entity to be mapped is Holdings.

  • Get the Mapping rule for Holdings location from MappingDetails

  • Read list of values (Holdings locations) from the MARC record and store it in the DataImportEventPayload (list should contain all values including duplicates if there are such)

  • After Holdings entity is mapped (one json without the location) update DataImportEventPayload to contain the list of Holdings (as many as there are locations) - copy mapped Holdings, but set the location

  • Cover following cases with tests - single MARC field containing location (therefore one Holdings is mapped, but stored in the list nonetheless), multiple MARC fields containing location, but the location value is the same (single Holdings is mapped), multiple MARC fields containing location, values are different (multiple Holdings are written in the event payload)

Environment

None

Potential Workaround

None

Checklist

hide

TestRail: Results

Activity

Show:

Kateryna Senchenko April 21, 2023 at 11:05 AM

Testing and merging will be done is scope of MODDATAIMP-801. Closing this ticket

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Folijet

Fix versions

Release

Poppy (R2 2023)

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created April 4, 2023 at 5:41 AM
Updated October 11, 2023 at 7:47 PM
Resolved April 21, 2023 at 11:05 AM
TestRail: Cases
TestRail: Runs