@@ -32,6 +32,7 @@ class CreatePaymentTest extends BaseTest {
3232 private static final String FEE_VERSION = "version" ;
3333 private static final Integer FEE_VOLUME = 1 ;
3434 private static final String INITIATED_STATUS = "Initiated" ;
35+ private static final String FAILED_STATUS = "Failed" ;
3536 private static final String JURISDICTION_1 = "jurisdiction 1" ;
3637 private static final String JURISDICTION_2 = "jurisdiction 2" ;
3738 private static final String MEMO_LINE = "Memo line" ;
@@ -45,44 +46,63 @@ class CreatePaymentTest extends BaseTest {
4546 private static final String SERVICE_NAME = "Civil Money Claims" ;
4647 private static final String SITE_ID = "AA00" ;
4748
49+ private static final CardPaymentRequest CARD_PAYMENT_REQUEST = CardPaymentRequest .builder ()
50+ .caseReference (UUID .randomUUID ().toString ())
51+ .ccdCaseNumber (CCD_CASE_NUMBER )
52+ .description (PAYMENT_DESCRIPTION )
53+ .service (SERVICE )
54+ .currency (CURRENCY )
55+ .siteId (SITE_ID )
56+ .fees (new FeeDto []{
57+ FeeDto .builder ()
58+ .id (1 )
59+ .calculatedAmount (FEE_AMOUNT )
60+ .ccdCaseNumber (CCD_CASE_NUMBER )
61+ .code (FEE_CODE )
62+ .description (FEE_DESCRIPTION )
63+ .jurisdiction1 (JURISDICTION_1 )
64+ .jurisdiction2 (JURISDICTION_2 )
65+ .memoLine (MEMO_LINE )
66+ .naturalAccountCode (NATURAL_ACCOUNT_CODE )
67+ .netAmount (NET_FEE_AMOUNT )
68+ .reference (FEE_REFERENCE )
69+ .version (FEE_VERSION )
70+ .volume (FEE_VOLUME )
71+ .build ()
72+ })
73+ .amount (PAYMENT_AMOUNT )
74+ .build ();
75+
4876 @ Test
49- void canCreateAndRetrievePayments () {
77+ void canCreateRetrieveAndCancelPayments () {
5078 User citizen = createCitizen ();
5179 PaymentDto createdPayment = paymentsClient .createPayment (
52- citizen .getAuthToken (),
53- CardPaymentRequest .builder ()
54- .caseReference (UUID .randomUUID ().toString ())
55- .ccdCaseNumber (CCD_CASE_NUMBER )
56- .description (PAYMENT_DESCRIPTION )
57- .service (SERVICE )
58- .currency (CURRENCY )
59- .siteId (SITE_ID )
60- .fees (new FeeDto []{
61- FeeDto .builder ()
62- .id (1 )
63- .calculatedAmount (FEE_AMOUNT )
64- .ccdCaseNumber (CCD_CASE_NUMBER )
65- .code (FEE_CODE )
66- .description (FEE_DESCRIPTION )
67- .jurisdiction1 (JURISDICTION_1 )
68- .jurisdiction2 (JURISDICTION_2 )
69- .memoLine (MEMO_LINE )
70- .naturalAccountCode (NATURAL_ACCOUNT_CODE )
71- .netAmount (NET_FEE_AMOUNT )
72- .reference (FEE_REFERENCE )
73- .version (FEE_VERSION )
74- .volume (FEE_VOLUME )
75- .build ()
76- })
77- .amount (PAYMENT_AMOUNT )
78- .build (),
79- "https://www.google.com"
80+ citizen .getAuthToken (),
81+ CARD_PAYMENT_REQUEST ,
82+ "https://www.google.com"
8083 );
84+ verifyCreatedPayment (createdPayment );
8185
82- assertNotNull (createdPayment );
8386 final String paymentGroupReference = createdPayment .getPaymentGroupReference ();
8487 final String reference = createdPayment .getReference ();
8588
89+ PaymentDto retrievedPayment = paymentsClient .retrievePayment (
90+ citizen .getAuthToken (),
91+ reference
92+ );
93+ verifyRetrievedPayment (retrievedPayment , paymentGroupReference , reference );
94+
95+ paymentsClient .cancelPayment (citizen .getAuthToken (), reference );
96+
97+ PaymentDto cancelledPayment = paymentsClient .retrievePayment (
98+ citizen .getAuthToken (),
99+ reference
100+ );
101+ verifyCancelledPayment (cancelledPayment , paymentGroupReference , reference );
102+ }
103+
104+ private PaymentDto verifyCreatedPayment (PaymentDto createdPayment ) {
105+ assertNotNull (createdPayment );
86106 assertAll ("created payment" ,
87107 () -> assertAll ("links" ,
88108 () -> assertNotNull (createdPayment .getLinks ()),
@@ -122,16 +142,19 @@ void canCreateAndRetrievePayments() {
122142 () -> assertNotNull (createdPayment .getExternalReference ())
123143 ),
124144 () -> assertAll ("expected matching values" ,
125- () -> assertNotNull (paymentGroupReference ),
126- () -> assertNotNull (reference )
145+ () -> assertNotNull (createdPayment . getPaymentGroupReference () ),
146+ () -> assertNotNull (createdPayment . getReference () )
127147 )
128148 );
129149
130- PaymentDto retrievedPayment = paymentsClient .retrievePayment (
131- citizen .getAuthToken (),
132- createdPayment .getReference ()
133- );
150+ return createdPayment ;
151+ }
134152
153+ private void verifyRetrievedPayment (
154+ PaymentDto retrievedPayment ,
155+ String expectedPaymentGroupReference ,
156+ String expectedReference
157+ ) {
135158 assertNotNull (retrievedPayment );
136159
137160 assertAll ("retrieved payment" ,
@@ -168,8 +191,72 @@ void canCreateAndRetrievePayments() {
168191 () -> assertEquals (INITIATED_STATUS , retrievedPayment .getStatus ())
169192 ),
170193 () -> assertAll ("expected matching values" ,
171- () -> assertEquals (paymentGroupReference , retrievedPayment .getPaymentGroupReference ()),
172- () -> assertEquals (reference , retrievedPayment .getReference ())
194+ () -> assertEquals (expectedPaymentGroupReference , retrievedPayment .getPaymentGroupReference ()),
195+ () -> assertEquals (expectedReference , retrievedPayment .getReference ())
196+ ),
197+ () -> assertAll ("fees" ,
198+ () -> assertNotNull (retrievedPayment .getFees ()),
199+ () -> assertEquals (1 , retrievedPayment .getFees ().length ),
200+ () -> assertEquals (FEE_AMOUNT , retrievedPayment .getFees ()[0 ].getCalculatedAmount ()),
201+ () -> assertEquals (CCD_CASE_NUMBER , retrievedPayment .getFees ()[0 ].getCcdCaseNumber ()),
202+ () -> assertEquals (FEE_CODE , retrievedPayment .getFees ()[0 ].getCode ()),
203+ () -> assertNull (retrievedPayment .getFees ()[0 ].getDescription ()),
204+ () -> assertNotNull (retrievedPayment .getFees ()[0 ].getId ()),
205+ () -> assertNull (retrievedPayment .getFees ()[0 ].getJurisdiction1 ()),
206+ () -> assertNull (retrievedPayment .getFees ()[0 ].getJurisdiction2 ()),
207+ () -> assertNull (retrievedPayment .getFees ()[0 ].getMemoLine ()),
208+ () -> assertNull (retrievedPayment .getFees ()[0 ].getNaturalAccountCode ()),
209+ () -> assertNull (retrievedPayment .getFees ()[0 ].getNetAmount ()),
210+ () -> assertEquals (FEE_REFERENCE , retrievedPayment .getFees ()[0 ].getReference ()),
211+ () -> assertEquals (FEE_VERSION , retrievedPayment .getFees ()[0 ].getVersion ()),
212+ () -> assertEquals (FEE_VOLUME , retrievedPayment .getFees ()[0 ].getVolume ())
213+ )
214+ );
215+ }
216+
217+ private void verifyCancelledPayment (
218+ PaymentDto retrievedPayment ,
219+ String expectedPaymentGroupReference ,
220+ String expectedReference
221+ ) {
222+ assertNotNull (retrievedPayment );
223+
224+ assertAll ("retrieved payment" ,
225+ () -> assertAll ("links" ,
226+ () -> assertNotNull (retrievedPayment .getLinks ()),
227+ () -> assertNull (retrievedPayment .getLinks ().getNextUrl ()),
228+ () -> assertNotNull (retrievedPayment .getLinks ().getSelf ()),
229+ () -> assertNotNull (retrievedPayment .getLinks ().getSelf ().getHref ()),
230+ () -> assertEquals (RequestMethod .GET , retrievedPayment .getLinks ().getSelf ().getMethod ()),
231+ () -> assertNull (retrievedPayment .getLinks ().getCancel ())
232+ ),
233+ () -> assertAll ("expected to be null" ,
234+ () -> assertNull (retrievedPayment .getAccountNumber ()),
235+ () -> assertNull (retrievedPayment .getCustomerReference ()),
236+ () -> assertNull (retrievedPayment .getDateCreated ()),
237+ () -> assertNull (retrievedPayment .getDateUpdated ()),
238+ () -> assertNull (retrievedPayment .getGiroSlipNo ()),
239+ () -> assertNull (retrievedPayment .getId ()),
240+ () -> assertNull (retrievedPayment .getOrganisationName ()),
241+ () -> assertNull (retrievedPayment .getPaymentReference ()),
242+ () -> assertNull (retrievedPayment .getReportedDateOffline ()),
243+ () -> assertNull (retrievedPayment .getStatusHistories ())
244+ ),
245+ () -> assertAll ("expected known values" ,
246+ () -> assertEquals (BigDecimal .TEN , retrievedPayment .getAmount ()),
247+ () -> assertEquals (CCD_CASE_NUMBER , retrievedPayment .getCcdCaseNumber ()),
248+ () -> assertEquals (ONLINE_CHANNEL , retrievedPayment .getChannel ()),
249+ () -> assertEquals (CURRENCY , retrievedPayment .getCurrency ()),
250+ () -> assertEquals (PAYMENT_DESCRIPTION , retrievedPayment .getDescription ()),
251+ () -> assertEquals (EXTERNAL_PROVIDER , retrievedPayment .getExternalProvider ()),
252+ () -> assertEquals (PAYMENT_METHOD , retrievedPayment .getMethod ()),
253+ () -> assertEquals (SERVICE_NAME , retrievedPayment .getServiceName ()),
254+ () -> assertEquals (SITE_ID , retrievedPayment .getSiteId ()),
255+ () -> assertEquals (FAILED_STATUS , retrievedPayment .getStatus ())
256+ ),
257+ () -> assertAll ("expected matching values" ,
258+ () -> assertEquals (expectedPaymentGroupReference , retrievedPayment .getPaymentGroupReference ()),
259+ () -> assertEquals (expectedReference , retrievedPayment .getReference ())
173260 ),
174261 () -> assertAll ("fees" ,
175262 () -> assertNotNull (retrievedPayment .getFees ()),
@@ -183,7 +270,7 @@ void canCreateAndRetrievePayments() {
183270 () -> assertNull (retrievedPayment .getFees ()[0 ].getJurisdiction2 ()),
184271 () -> assertNull (retrievedPayment .getFees ()[0 ].getMemoLine ()),
185272 () -> assertNull (retrievedPayment .getFees ()[0 ].getNaturalAccountCode ()),
186- () -> assertEquals ( NET_FEE_AMOUNT , retrievedPayment .getFees ()[0 ].getNetAmount ()),
273+ () -> assertNull ( retrievedPayment .getFees ()[0 ].getNetAmount ()),
187274 () -> assertEquals (FEE_REFERENCE , retrievedPayment .getFees ()[0 ].getReference ()),
188275 () -> assertEquals (FEE_VERSION , retrievedPayment .getFees ()[0 ].getVersion ()),
189276 () -> assertEquals (FEE_VOLUME , retrievedPayment .getFees ()[0 ].getVolume ())
0 commit comments