Skip to content

Commit 46400e0

Browse files
committed
Fixed updating of multi columns values #3466
1 parent 12348c5 commit 46400e0

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/main/groovy/au/org/ala/merit/GmsMapper.groovy

+2-2
Original file line numberDiff line numberDiff line change
@@ -642,10 +642,10 @@ class GmsMapper {
642642
String propertyName = columnMapping.name
643643
if (columnMapping.multipleColumnsSupported) {
644644
List values = findMultiValue(mappingColumnName, rowMap)
645-
if (!result[propertyName] && !update) {
645+
values = values.findAll{it}
646+
if (!result[propertyName] && (values || !update)) {
646647
result[propertyName] = []
647648
}
648-
values = values.findAll{it}
649649
if (values || !update) {
650650
result[propertyName].addAll(values.collect{convertByType(it, columnMapping, update)}.findAll{it})
651651
}

src/test/groovy/au/org/ala/merit/GmsMapperSpec.groovy

+15
Original file line numberDiff line numberDiff line change
@@ -412,4 +412,19 @@ class GmsMapperSpec extends Specification{
412412
[idType:'GRANT_AWARD', externalId: 'g1'], [idType:'GRANT_AWARD', externalId: 'g2']]
413413
!result.errors
414414
}
415+
416+
def "The GMSMapper can update multi-column values such as the externalIds"() {
417+
when:
418+
Map project = [APP_ID:'g1', PROGRAM_NM:"Green Army", ORG_TRADING_NAME:'Test org 1', ABN:'12345678901', FUNDING_TYPE:"RLP", START_DT:'2019/07/01', FINISH_DT:'2020/07/01']
419+
Map idData = [ORDER_NO:'o1', ORDER_NO_2:'o2', WORK_ORDER_ID:'w1', GRANT_AWARD_ID:'g1', GRANT_AWARD_ID_2:'g2', TECH_ONE_ID:'t1', TECH_ONE_ID_2:'t2']
420+
project += idData
421+
Map result = gmsMapper.mapProject([project], true)
422+
423+
then:
424+
result.project.externalIds == [[idType:'INTERNAL_ORDER_NUMBER', externalId: 'o1'], [idType:'INTERNAL_ORDER_NUMBER', externalId: 'o2'],
425+
[idType:'TECH_ONE_CODE', externalId: 't1'], [idType:'TECH_ONE_CODE', externalId: 't2'],
426+
[idType:'WORK_ORDER', externalId: 'w1'],
427+
[idType:'GRANT_AWARD', externalId: 'g1'], [idType:'GRANT_AWARD', externalId: 'g2']]
428+
!result.errors
429+
}
415430
}

0 commit comments

Comments
 (0)