@@ -145,6 +145,35 @@ void toMapShouldReturnMapWithCorrectCsvDataForDisputeTransaction() {
145145 assertThat (csvDataMap .get ("Card Expiry Date" ), is ("10/21" ));
146146 }
147147
148+ @ Test
149+ void toMapShouldNotNegateAmountForWonDisputeTransaction () {
150+ TransactionEntity transactionEntity = transactionFixture
151+ .withTransactionType (TransactionType .DISPUTE .name ())
152+ .withState (TransactionState .WON )
153+ .withAmount (2000L )
154+ .withFee (0L )
155+ .withNetAmount (2000L )
156+ .withParentExternalId ("parent-external-id" )
157+ .withReference ("ref-1" )
158+ .withDescription ("test description" )
159+ .withDefaultPaymentDetails ()
160+ .withDefaultTransactionDetails ()
161+ .toEntity ();
162+
163+ Map <String , Object > csvDataMap = csvTransactionFactory .toMap (transactionEntity );
164+
165+ assertPaymentDetails (csvDataMap , transactionEntity );
166+ assertThat (csvDataMap .get ("Amount" ), is ("20.00" ));
167+ assertThat (csvDataMap .get ("Net" ), is ("20.00" ));
168+ assertThat (csvDataMap .get ("Fee" ), is ("0.00" ));
169+ assertThat (csvDataMap .get ("Provider ID" ), is (transactionFixture .getGatewayTransactionId ()));
170+ assertThat (csvDataMap .get ("GOV.UK Payment ID" ), is (transactionFixture .getParentExternalId ()));
171+ assertThat (csvDataMap .get ("State" ), is ("Dispute won in your favour" ));
172+ assertThat (csvDataMap .get ("Finished" ), is (true ));
173+ assertThat (csvDataMap .get ("Date Created" ), is ("12 Mar 2018" ));
174+ assertThat (csvDataMap .get ("Time Created" ), is ("16:25:01" ));
175+ }
176+
148177 @ Test
149178 void toMapShouldUseAmountForTotalAmountForSuccessfulPayment () {
150179 TransactionEntity transactionEntity = transactionFixture
@@ -454,4 +483,4 @@ private void assertPaymentDetails(Map<String, Object> csvDataMap, TransactionEnt
454483 assertThat (csvDataMap .get ("Card Type" ), is ("credit" ));
455484 assertThat (csvDataMap .get ("Wallet Type" ), is ("Apple Pay" ));
456485 }
457- }
486+ }
0 commit comments