Skip to content

Commit ed12e5c

Browse files
Merchant accounts updates (#325)
1 parent 7b669a0 commit ed12e5c

File tree

10 files changed

+50
-22
lines changed

10 files changed

+50
-22
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,11 @@ dependencies {
108108
implementation group: 'org.tinylog', name: 'tinylog-impl', version: tinyLogVersion
109109

110110
// JUnit test framework.
111-
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.11.2'
111+
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.11.3'
112112

113113
// Mocking libraries
114114
testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.14.2'
115-
testImplementation group: 'org.wiremock', name: 'wiremock', version: '3.9.1'
115+
testImplementation group: 'org.wiremock', name: 'wiremock', version: '3.9.2'
116116

117117
// Wait test utility
118118
testImplementation group: 'org.awaitility', name: 'awaitility', version: '4.2.2'

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Main properties
22
group=com.truelayer
33
archivesBaseName=truelayer-java
4-
version=15.0.0
4+
version=16.0.0
55

66
# Artifacts properties
77
sonatype_repository_url=https://s01.oss.sonatype.org/service/local/

src/main/java/com/truelayer/java/merchantaccounts/entities/UpdateSweepingRequest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.truelayer.java.merchantaccounts.entities;
22

3-
import com.truelayer.java.entities.CurrencyCode;
43
import com.truelayer.java.merchantaccounts.entities.sweeping.Frequency;
54
import lombok.Builder;
65
import lombok.EqualsAndHashCode;
@@ -14,7 +13,5 @@
1413
public class UpdateSweepingRequest {
1514
private int maxAmountInMinor;
1615

17-
private CurrencyCode currency;
18-
1916
private Frequency frequency;
2017
}

src/main/java/com/truelayer/java/merchantaccounts/entities/transactions/MerchantAccountPayment.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package com.truelayer.java.merchantaccounts.entities.transactions;
22

3+
import com.fasterxml.jackson.annotation.JsonGetter;
34
import com.truelayer.java.entities.CurrencyCode;
45
import java.time.ZonedDateTime;
6+
import java.util.Map;
7+
import java.util.Optional;
58
import lombok.EqualsAndHashCode;
69
import lombok.Value;
710

@@ -23,4 +26,11 @@ public class MerchantAccountPayment extends Transaction {
2326
PaymentSource paymentSource;
2427

2528
String paymentId;
29+
30+
Map<String, String> metadata;
31+
32+
@JsonGetter
33+
public Optional<Map<String, String>> getMetadata() {
34+
return Optional.ofNullable(metadata);
35+
}
2636
}

src/main/java/com/truelayer/java/merchantaccounts/entities/transactions/Payout.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.truelayer.java.entities.CurrencyCode;
66
import com.truelayer.java.entities.beneficiary.Beneficiary;
77
import java.time.ZonedDateTime;
8+
import java.util.Map;
89
import java.util.Optional;
910
import lombok.EqualsAndHashCode;
1011
import lombok.Getter;
@@ -46,6 +47,13 @@ public class Payout extends Transaction {
4647

4748
String payoutId;
4849

50+
Map<String, String> metadata;
51+
52+
@JsonGetter
53+
public Optional<Map<String, String>> getMetadata() {
54+
return Optional.ofNullable(metadata);
55+
}
56+
4957
@JsonGetter
5058
public Optional<ZonedDateTime> getExecutedAt() {
5159
return Optional.ofNullable(executedAt);

src/main/java/com/truelayer/java/merchantaccounts/entities/transactions/Refund.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.truelayer.java.entities.CurrencyCode;
55
import com.truelayer.java.entities.beneficiary.PaymentSource;
66
import java.time.ZonedDateTime;
7+
import java.util.Map;
78
import java.util.Optional;
89
import lombok.EqualsAndHashCode;
910
import lombok.Value;
@@ -36,6 +37,13 @@ public class Refund extends Transaction {
3637

3738
String paymentId;
3839

40+
Map<String, String> metadata;
41+
42+
@JsonGetter
43+
public Optional<Map<String, String>> getMetadata() {
44+
return Optional.ofNullable(metadata);
45+
}
46+
3947
@JsonGetter
4048
public Optional<ZonedDateTime> getExecutedAt() {
4149
return Optional.ofNullable(executedAt);

src/test/java/com/truelayer/java/acceptance/MerchantAccountsAcceptanceTests.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ public void itShouldGetTheSweepingSettings() {
6262
UpdateSweepingRequest updateSweepingRequest = UpdateSweepingRequest.builder()
6363
.maxAmountInMinor(100)
6464
.frequency(Frequency.DAILY)
65-
.currency(CurrencyCode.GBP)
6665
.build();
6766
ApiResponse<SweepingSettings> updateSweepingResponse = tlClient.merchantAccounts()
6867
.updateSweeping(getMerchantAccount(CurrencyCode.GBP).getId(), updateSweepingRequest)
@@ -83,7 +82,6 @@ public void itShouldUpdateTheSweepingSettings() {
8382
UpdateSweepingRequest updateSweepingRequest = UpdateSweepingRequest.builder()
8483
.maxAmountInMinor(100)
8584
.frequency(Frequency.DAILY)
86-
.currency(CurrencyCode.GBP)
8785
.build();
8886
ApiResponse<SweepingSettings> updateSweepingResponse = tlClient.merchantAccounts()
8987
.updateSweeping(getMerchantAccount(CurrencyCode.GBP).getId(), updateSweepingRequest)

src/test/java/com/truelayer/java/integration/MerchantAccountsIntegrationTests.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import static org.junit.jupiter.api.Assertions.*;
99

1010
import com.truelayer.java.TestUtils.RequestStub;
11-
import com.truelayer.java.entities.CurrencyCode;
1211
import com.truelayer.java.http.entities.ApiResponse;
1312
import com.truelayer.java.http.entities.Headers;
1413
import com.truelayer.java.merchantaccounts.entities.*;
@@ -266,7 +265,6 @@ public void shouldUpdateSweepingSetup() {
266265
.build();
267266

268267
UpdateSweepingRequest updateSweepingRequest = UpdateSweepingRequest.builder()
269-
.currency(CurrencyCode.EUR)
270268
.frequency(Frequency.DAILY)
271269
.maxAmountInMinor(100)
272270
.build();

src/test/java/com/truelayer/java/merchantaccounts/MerchantAccountsHandlerTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
import static org.mockito.Mockito.verify;
88

99
import com.truelayer.java.Constants;
10-
import com.truelayer.java.entities.CurrencyCode;
1110
import com.truelayer.java.entities.RequestScopes;
1211
import com.truelayer.java.http.entities.Headers;
1312
import com.truelayer.java.merchantaccounts.entities.ListPaymentSourcesQuery;
1413
import com.truelayer.java.merchantaccounts.entities.ListTransactionsQuery;
1514
import com.truelayer.java.merchantaccounts.entities.UpdateSweepingRequest;
15+
import com.truelayer.java.merchantaccounts.entities.sweeping.Frequency;
1616
import com.truelayer.java.merchantaccounts.entities.transactions.TransactionTypeQuery;
1717
import java.time.LocalDate;
1818
import java.time.LocalTime;
@@ -108,7 +108,7 @@ public void shouldCallListTransactionsEndpoint(ZonedDateTime from, ZonedDateTime
108108
@DisplayName("It should call the update sweeping endpoint with empty headers map")
109109
public void shouldCallUpdateSweepingEndpoint() {
110110
UpdateSweepingRequest request =
111-
UpdateSweepingRequest.builder().currency(CurrencyCode.GBP).build();
111+
UpdateSweepingRequest.builder().frequency(Frequency.DAILY).build();
112112

113113
sut.updateSweeping(A_MERCHANT_ACCOUNT_ID, request);
114114

@@ -120,7 +120,7 @@ public void shouldCallUpdateSweepingEndpoint() {
120120
public void shouldCallUpdateSweepingEndpointWithCustomHeaders() {
121121
Headers customHeaders = buildTestHeaders();
122122
UpdateSweepingRequest request =
123-
UpdateSweepingRequest.builder().currency(CurrencyCode.GBP).build();
123+
UpdateSweepingRequest.builder().frequency(Frequency.DAILY).build();
124124

125125
sut.updateSweeping(customHeaders, A_MERCHANT_ACCOUNT_ID, request);
126126

src/test/java/com/truelayer/java/merchantaccounts/entities/transactions/TransactionTests.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public void shouldYieldTrueIfMerchantAccountPayment() {
2222
100,
2323
ZonedDateTime.now(Clock.systemUTC()),
2424
new PaymentSource(UUID.randomUUID().toString(), null, null),
25-
UUID.randomUUID().toString());
25+
UUID.randomUUID().toString(),
26+
null);
2627

2728
assertTrue(sut.isMerchantAccountPayment());
2829
}
@@ -37,7 +38,8 @@ public void shouldConvertToMerchantAccountPayment() {
3738
100,
3839
ZonedDateTime.now(Clock.systemUTC()),
3940
null,
40-
UUID.randomUUID().toString());
41+
UUID.randomUUID().toString(),
42+
null);
4143

4244
assertDoesNotThrow(sut::asMerchantAccountPayment);
4345
}
@@ -80,7 +82,8 @@ public void shouldNotConvertToExternalPayment() {
8082
100,
8183
ZonedDateTime.now(Clock.systemUTC()),
8284
null,
83-
UUID.randomUUID().toString());
85+
UUID.randomUUID().toString(),
86+
null);
8487

8588
Throwable thrown = assertThrows(TrueLayerException.class, sut::asExternalPayment);
8689

@@ -99,7 +102,8 @@ public void shouldYieldTrueIfPayout() {
99102
ZonedDateTime.now(Clock.systemUTC()),
100103
null,
101104
Payout.ContextCode.INTERNAL,
102-
UUID.randomUUID().toString());
105+
UUID.randomUUID().toString(),
106+
null);
103107

104108
assertTrue(sut.isPayout());
105109
}
@@ -116,7 +120,8 @@ public void shouldConvertToPayout() {
116120
ZonedDateTime.now(Clock.systemUTC()),
117121
null,
118122
Payout.ContextCode.INTERNAL,
119-
UUID.randomUUID().toString());
123+
UUID.randomUUID().toString(),
124+
null);
120125

121126
assertDoesNotThrow(sut::asPayout);
122127
}
@@ -130,7 +135,8 @@ public void shouldNotConvertToPayout() {
130135
100,
131136
ZonedDateTime.now(Clock.systemUTC()),
132137
null,
133-
UUID.randomUUID().toString());
138+
UUID.randomUUID().toString(),
139+
null);
134140

135141
Throwable thrown = assertThrows(TrueLayerException.class, sut::asPayout);
136142

@@ -150,7 +156,8 @@ public void shouldYieldTrueIfRefund() {
150156
null,
151157
Payout.ContextCode.INTERNAL,
152158
UUID.randomUUID().toString(),
153-
UUID.randomUUID().toString());
159+
UUID.randomUUID().toString(),
160+
null);
154161

155162
assertTrue(sut.isRefund());
156163
}
@@ -168,7 +175,8 @@ public void shouldConvertToRefund() {
168175
null,
169176
Payout.ContextCode.INTERNAL,
170177
UUID.randomUUID().toString(),
171-
UUID.randomUUID().toString());
178+
UUID.randomUUID().toString(),
179+
null);
172180

173181
assertDoesNotThrow(sut::asRefund);
174182
}
@@ -182,7 +190,8 @@ public void shouldNotConvertToRefund() {
182190
100,
183191
ZonedDateTime.now(Clock.systemUTC()),
184192
null,
185-
UUID.randomUUID().toString());
193+
UUID.randomUUID().toString(),
194+
null);
186195

187196
Throwable thrown = assertThrows(TrueLayerException.class, sut::asRefund);
188197

0 commit comments

Comments
 (0)