Skip to content

Commit c177916

Browse files
Merge pull request #544 from TransactionProcessing/refactor/#543_change_commands_to_records
command/query refactor
2 parents 6b3d608 + 237e770 commit c177916

67 files changed

Lines changed: 336 additions & 1143 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

TransactionProcessor.Mobile.BusinessLogic.Tests/CommonTests/ExtensionsTests.cs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ExtensionsTests{
1414
[InlineData(true)]
1515
[InlineData(false)]
1616
public void LogonTransactionRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
17-
LogonTransactionRequest request = LogonTransactionRequest.Create(TestData.TransactionDateTime);
17+
TransactionCommands.PerformLogonCommand request = new(TestData.TransactionDateTime);
1818
TransactionRecord transactionRecord = request.ToTransactionRecord(inTrainingMode);
1919
transactionRecord.TransactionDateTime.ShouldBe(request.TransactionDateTime);
2020
transactionRecord.TransactionType.ShouldBe(1);
@@ -25,7 +25,7 @@ public void LogonTransactionRequest_ToTransactionRecord_IsTranslated(Boolean inT
2525
[InlineData(true)]
2626
[InlineData(false)]
2727
public void PerformMobileTopupRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
28-
PerformMobileTopupRequest request = PerformMobileTopupRequest.Create(TestData.TransactionDateTime,
28+
TransactionCommands.PerformMobileTopupCommand request = new(TestData.TransactionDateTime,
2929
TestData.OperatorId1ContractId,
3030
TestData.Operator1Product_100KES.ProductId,
3131
TestData.OperatorId1,
@@ -49,7 +49,7 @@ public void PerformMobileTopupRequest_ToTransactionRecord_IsTranslated(Boolean i
4949
[InlineData(true)]
5050
[InlineData(false)]
5151
public void PerformVoucherIssueRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
52-
PerformVoucherIssueRequest request = PerformVoucherIssueRequest.Create(TestData.TransactionDateTime,
52+
TransactionCommands.PerformVoucherIssueCommand request = new(TestData.TransactionDateTime,
5353
TestData.OperatorId3ContractId,
5454
TestData.Operator3Product_200KES.ProductId,
5555
TestData.OperatorId3,
@@ -75,7 +75,7 @@ public void PerformVoucherIssueRequest_ToTransactionRecord_IsTranslated(Boolean
7575
[InlineData(true)]
7676
[InlineData(false)]
7777
public void PerformBillPaymentGetAccountRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
78-
PerformBillPaymentGetAccountRequest request = PerformBillPaymentGetAccountRequest.Create(TestData.TransactionDateTime,
78+
TransactionCommands.PerformBillPaymentGetAccountCommand request = new(TestData.TransactionDateTime,
7979
TestData.OperatorId3ContractId,
8080
TestData.Operator3Product_200KES.ProductId,
8181
TestData.OperatorId3,
@@ -95,7 +95,7 @@ public void PerformBillPaymentGetAccountRequest_ToTransactionRecord_IsTranslated
9595
[InlineData(true)]
9696
[InlineData(false)]
9797
public void PerformBillPaymentMakePostPaymentRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
98-
PerformBillPaymentMakePostPaymentRequest request = PerformBillPaymentMakePostPaymentRequest.Create(TestData.TransactionDateTime,
98+
TransactionCommands.PerformBillPaymentMakePostPaymentCommand request = new(TestData.TransactionDateTime,
9999
TestData.OperatorId3ContractId,
100100
TestData.Operator3Product_200KES.ProductId,
101101
TestData.OperatorId3,
@@ -118,13 +118,12 @@ public void PerformBillPaymentMakePostPaymentRequest_ToTransactionRecord_IsTrans
118118
[InlineData(true)]
119119
[InlineData(false)]
120120
public void PerformBillPaymentMakePrePaymentRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
121-
PerformBillPaymentMakePostPaymentRequest request = PerformBillPaymentMakePostPaymentRequest.Create(TestData.TransactionDateTime,
121+
TransactionCommands.PerformBillPaymentMakePrePaymentCommand request = new(TestData.TransactionDateTime,
122122
TestData.OperatorId3ContractId,
123123
TestData.Operator3Product_200KES.ProductId,
124124
TestData.OperatorId3,
125-
TestData.CustomerAccountNumber,
125+
TestData.MeterNumber,
126126
TestData.CustomerAccountName,
127-
TestData.CustomerMobileNumber,
128127
TestData.PaymentAmount);
129128

130129
TransactionRecord transactionRecord = request.ToTransactionRecord(inTrainingMode);
@@ -133,15 +132,15 @@ public void PerformBillPaymentMakePrePaymentRequest_ToTransactionRecord_IsTransl
133132
transactionRecord.IsTrainingMode.ShouldBe(inTrainingMode);
134133
transactionRecord.ProductId.ShouldBe(request.ProductId);
135134
transactionRecord.ContractId.ShouldBe(request.ContractId);
136-
transactionRecord.CustomerAccountNumber.ShouldBe(request.CustomerAccountNumber);
135+
transactionRecord.CustomerAccountNumber.ShouldBe(request.MeterNumber);
137136
transactionRecord.OperatorId.ShouldBe(request.OperatorId);
138137
}
139138

140139
[Theory]
141140
[InlineData(true)]
142141
[InlineData(false)]
143142
public void PerformBillPaymentGetMeterRequest_ToTransactionRecord_IsTranslated(Boolean inTrainingMode){
144-
PerformBillPaymentGetMeterRequest request = PerformBillPaymentGetMeterRequest.Create(TestData.TransactionDateTime,
143+
TransactionCommands.PerformBillPaymentGetMeterCommand request = new(TestData.TransactionDateTime,
145144
TestData.OperatorId3ContractId,
146145
TestData.Operator3Product_200KES.ProductId,
147146
TestData.OperatorId3,

TransactionProcessor.Mobile.BusinessLogic.Tests/RequestHandlerTests/LoginRequestHandlerTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public async Task LoginRequestHandler_Handle_LoginRequest_IsHandled()
4040
this.AuthenticationService.Setup(a => a.GetToken(It.IsAny<String>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(TestData.AccessToken));
4141
this.ConfigurationService.Setup(c => c.GetConfiguration(It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(new Configuration()));
4242

43-
LoginRequest request = LoginRequest.Create(TestData.UserName,TestData.Password);
43+
LogonCommands.GetTokenCommand request = new(TestData.UserName, TestData.Password);
4444

4545
Result<TokenResponseModel> result = await this.LoginRequestHandler.Handle(request, CancellationToken.None);
4646

@@ -66,7 +66,7 @@ public async Task LoginRequestHandler_Handle_RefreshTokenRequest_IsHandled()
6666
this.AuthenticationService.Setup(a => a.RefreshAccessToken(It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(TestData.AccessToken));
6767
this.ConfigurationService.Setup(c => c.GetConfiguration(It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(new Configuration()));
6868

69-
RefreshTokenRequest request = RefreshTokenRequest.Create(TestData.RefreshToken);
69+
LogonCommands.RefreshTokenCommand request = new LogonCommands.RefreshTokenCommand(TestData.RefreshToken);
7070

7171
Result<TokenResponseModel> result = await this.LoginRequestHandler .Handle(request, CancellationToken.None);
7272

@@ -82,7 +82,7 @@ public async Task LoginRequestHandler_Handle_GetConfigurationRequest_IsHandled()
8282
this.AuthenticationService.Setup(a => a.GetToken(It.IsAny<String>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(TestData.AccessToken));
8383
this.ConfigurationService.Setup(c => c.GetConfiguration(It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(new Configuration()));
8484

85-
GetConfigurationRequest request = GetConfigurationRequest.Create(TestData.DeviceIdentifier);
85+
LogonQueries.GetConfigurationQuery request = new LogonQueries.GetConfigurationQuery(TestData.DeviceIdentifier);
8686

8787
Result<Configuration> result = await this.LoginRequestHandler.Handle(request, CancellationToken.None);
8888

TransactionProcessor.Mobile.BusinessLogic.Tests/RequestHandlerTests/MerchantRequestHandlerTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public async Task MerchantRequestHandler_GetContractProductsRequest_Handle_IsHan
4242
this.MerchantService.Setup(m => m.GetContractProducts(It.IsAny<CancellationToken>()))
4343
.ReturnsAsync(Result.Success(TestData.ContractProductList));
4444

45-
GetContractProductsRequest request = GetContractProductsRequest.Create();
45+
MerchantQueries.GetContractProductsQuery request = new MerchantQueries.GetContractProductsQuery();
4646

4747
Result<List<ContractProductModel>> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
4848

@@ -58,7 +58,7 @@ public async Task MerchantRequestHandler_GetContractProductsRequest_Handle_Cache
5858
this.MerchantService.Setup(m => m.GetContractProducts(It.IsAny<CancellationToken>()))
5959
.ReturnsAsync(Result.Success(TestData.ContractProductList));
6060

61-
GetContractProductsRequest request = GetContractProductsRequest.Create();
61+
MerchantQueries.GetContractProductsQuery request = new MerchantQueries.GetContractProductsQuery();
6262

6363
Result<List<ContractProductModel>> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
6464

@@ -75,7 +75,7 @@ public async Task MerchantRequestHandler_GetContractProductsRequest_Handle_GetCo
7575
this.MerchantService.Setup(m => m.GetContractProducts(It.IsAny<CancellationToken>()))
7676
.ReturnsAsync(Result.Failure("failed"));
7777

78-
GetContractProductsRequest request = GetContractProductsRequest.Create();
78+
MerchantQueries.GetContractProductsQuery request = new MerchantQueries.GetContractProductsQuery();
7979

8080
Result<List<ContractProductModel>> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
8181

@@ -88,7 +88,7 @@ public async Task MerchantRequestHandler_GetContractProductsRequest_Handle_Filte
8888
this.MerchantService.Setup(m => m.GetContractProducts(It.IsAny<CancellationToken>()))
8989
.ReturnsAsync(Result.Success(TestData.ContractProductList));
9090

91-
GetContractProductsRequest request = GetContractProductsRequest.Create(ProductType.Voucher);
91+
MerchantQueries.GetContractProductsQuery request = new MerchantQueries.GetContractProductsQuery(ProductType.Voucher);
9292

9393
Result<List<ContractProductModel>> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
9494

@@ -105,7 +105,7 @@ public async Task MerchantRequestHandler_GetContractProductsRequest_Handle_Cache
105105
this.MerchantService.Setup(m => m.GetContractProducts(It.IsAny<CancellationToken>()))
106106
.ReturnsAsync(Result.Success(TestData.ContractProductList));
107107

108-
GetContractProductsRequest request = GetContractProductsRequest.Create();
108+
MerchantQueries.GetContractProductsQuery request = new MerchantQueries.GetContractProductsQuery();
109109

110110
Result<List<ContractProductModel>> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
111111

@@ -117,7 +117,7 @@ public async Task MerchantRequestHandler_GetContractProductsRequest_Handle_Cache
117117
public async Task MerchantRequestHandler_GetMerchantBalanceRequest_Handle_IsHandled() {
118118
this.MerchantService.Setup(m => m.GetMerchantBalance(It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(TestData.MerchantBalance));
119119

120-
GetMerchantBalanceRequest request = GetMerchantBalanceRequest.Create();
120+
MerchantQueries.GetMerchantBalanceQuery request = new MerchantQueries.GetMerchantBalanceQuery();
121121

122122
Result<Decimal> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
123123

@@ -130,7 +130,7 @@ public async Task MerchantRequestHandler_GetMerchantDetailsRequest_Handle_IsHand
130130
{
131131
this.MerchantService.Setup(m => m.GetMerchantDetails(It.IsAny<CancellationToken>())).ReturnsAsync(Result.Success(TestData.MerchantDetailsModel));
132132

133-
GetMerchantDetailsRequest request = GetMerchantDetailsRequest.Create();
133+
MerchantQueries.GetMerchantDetailsQuery request = new MerchantQueries.GetMerchantDetailsQuery();
134134

135135
Result<MerchantDetailsModel> result = await this.MerchantRequestHandler.Handle(request, CancellationToken.None);
136136

TransactionProcessor.Mobile.BusinessLogic.Tests/RequestHandlerTests/SupportRequestHandlerTests.cs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Moq;
22
using Shouldly;
3+
using SimpleResults;
34
using TransactionProcessor.Mobile.BusinessLogic.Database;
45
using TransactionProcessor.Mobile.BusinessLogic.Models;
56
using TransactionProcessor.Mobile.BusinessLogic.RequestHandlers;
@@ -28,11 +29,11 @@ public async Task SupportRequestHandlerTests_UploadLogsRequest_NoLogs_Handle_IsH
2829
applicationCache.Setup(s => s.GetConfiguration()).Returns(new Configuration());
2930
SupportRequestHandler handler = new SupportRequestHandler(configurationServiceResolver, databaseContext.Object, applicationCache.Object);
3031

31-
UploadLogsRequest request = UploadLogsRequest.Create(TestData.DeviceIdentifier);
32+
SupportCommands.UploadLogsCommand request = new(TestData.DeviceIdentifier);
3233

33-
Boolean response = await handler.Handle(request, CancellationToken.None);
34+
Result response = await handler.Handle(request, CancellationToken.None);
3435

35-
response.ShouldBeTrue();
36+
response.IsSuccess.ShouldBeTrue();
3637
}
3738

3839
[Fact]
@@ -63,11 +64,11 @@ public async Task SupportRequestHandlerTests_UploadLogsRequest_LogsToUpload_Only
6364

6465
SupportRequestHandler handler = new SupportRequestHandler(configurationServiceResolver, databaseContext.Object, applicationCache.Object);
6566

66-
UploadLogsRequest request = UploadLogsRequest.Create(TestData.DeviceIdentifier);
67+
SupportCommands.UploadLogsCommand request = new(TestData.DeviceIdentifier);
6768

68-
Boolean response = await handler.Handle(request, CancellationToken.None);
69+
Result response = await handler.Handle(request, CancellationToken.None);
6970

70-
response.ShouldBeTrue();
71+
response.IsSuccess.ShouldBeTrue();
7172
databaseContext.Verify(d => d.RemoveUploadedMessages(It.IsAny<List<Database.LogMessage>>()), Times.Once);
7273
}
7374

@@ -106,11 +107,11 @@ public async Task SupportRequestHandlerTests_UploadLogsRequest_LogsToUpload_15Me
106107

107108
SupportRequestHandler handler = new SupportRequestHandler(configurationServiceResolver, databaseContext.Object, applicationCache.Object);
108109

109-
UploadLogsRequest request = UploadLogsRequest.Create(TestData.DeviceIdentifier);
110+
SupportCommands.UploadLogsCommand request = new(TestData.DeviceIdentifier);
110111

111-
Boolean response = await handler.Handle(request, CancellationToken.None);
112+
Result response = await handler.Handle(request, CancellationToken.None);
112113

113-
response.ShouldBeTrue();
114+
response.IsSuccess.ShouldBeTrue();
114115
databaseContext.Verify(d => d.RemoveUploadedMessages(It.IsAny<List<Database.LogMessage>>()), Times.Exactly(2));
115116
}
116117

@@ -145,9 +146,10 @@ public async Task SupportRequestHandlerTests_ViewLogsRequest_Handle_IsHandled(Bo
145146
applicationCache.Setup(s => s.GetUseTrainingMode()).Returns(isTrainingMode);
146147
SupportRequestHandler handler = new SupportRequestHandler(configurationServiceResolver, databaseContext, applicationCache.Object);
147148

148-
ViewLogsRequest request = ViewLogsRequest.Create();
149-
List<Models.LogMessage>? result = await handler.Handle(request, CancellationToken.None);
149+
SupportQueries.ViewLogsQuery request = new();
150+
Result<List<Models.LogMessage>> result = await handler.Handle(request, CancellationToken.None);
150151

151-
result.Count.ShouldBe(expectedNumberMessages);
152+
result.IsSuccess.ShouldBeTrue();
153+
result.Data.Count.ShouldBe(expectedNumberMessages);
152154
}
153155
}

0 commit comments

Comments
 (0)