Skip to content

Commit dfe4496

Browse files
Merge pull request #5 from TransactionProcessing/task/#1_testbankdepositcallbacks
Misssing reference in callback message event
2 parents 834aa11 + 911d6aa commit dfe4496

9 files changed

Lines changed: 28 additions & 7 deletions

File tree

CallbackHander.Testing/TestData.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ public class TestData
1818

1919
public static String[] Destinations = new[] {"A", "B"};
2020

21+
public static String Reference = "TestRef";
22+
2123
public static RecordCallbackRequest RecordCallbackRequest =>
2224
RecordCallbackRequest.Create(TestData.CallbackId, TestData.MessageFormat, TestData.TypeString,
23-
TestData.CallbackMessage, TestData.Destinations);
25+
TestData.CallbackMessage, TestData.Reference, TestData.Destinations);
2426

2527
public static CallbackMessageAggregate EmptyCallbackMessageAggregate()
2628
{

CallbackHandler.BusinessLogic.Tests/Requests/RequestTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@ public class RequestTests
1212
public void RecordCallbackRequest_CanBeCreated_IsCreated()
1313
{
1414
RecordCallbackRequest recordCallbackRequest = RecordCallbackRequest.Create(TestData.CallbackId, TestData.MessageFormat, TestData.TypeString,
15-
TestData.CallbackMessage, TestData.Destinations);
15+
TestData.CallbackMessage, TestData.Reference,
16+
TestData.Destinations);
1617

1718
recordCallbackRequest.ShouldNotBeNull();
1819
recordCallbackRequest.ShouldSatisfyAllConditions(
1920
() => recordCallbackRequest.CallbackId.ShouldBe(TestData.CallbackId),
2021
() => recordCallbackRequest.MessageFormat.ShouldBe((MessageFormat)TestData.MessageFormat),
2122
() => recordCallbackRequest.TypeString.ShouldBe(TestData.TypeString),
2223
() => recordCallbackRequest.CallbackMessage.ShouldBe(TestData.CallbackMessage),
24+
() => recordCallbackRequest.Reference.ShouldBe(TestData.Reference),
2325
() => recordCallbackRequest.Destinations.ShouldBe(TestData.Destinations)
2426
);
2527
}

CallbackHandler.BusinessLogic/RequestHandler/CallbackHandlerRequestHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public async Task<Unit> Handle(RecordCallbackRequest request,
2323

2424
CallbackMessageAggregate aggregate = await this.AggregateRepository.GetLatestVersion(request.CallbackId, cancellationToken);
2525

26-
aggregate.RecordCallback(request.TypeString, request.MessageFormat, request.CallbackMessage, request.Destinations);
26+
aggregate.RecordCallback(request.TypeString, request.MessageFormat, request.CallbackMessage, request.Reference, request.Destinations);
2727

2828
await this.AggregateRepository.SaveChanges(aggregate,cancellationToken);
2929

CallbackHandler.BusinessLogic/Requests/RecordCallbackRequest.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ private RecordCallbackRequest(Guid callbackId,
1212
Int32 messageFormat,
1313
String typeString,
1414
String callbackMessage,
15+
String reference,
1516
String[] destinations)
1617
{
1718
this.CallbackId = callbackId;
1819
this.MessageFormat = (MessageFormat)messageFormat;
1920
this.TypeString = typeString;
2021
this.CallbackMessage = callbackMessage;
2122
this.Destinations = destinations;
23+
this.Reference = reference;
2224
}
2325

2426
#endregion
@@ -35,6 +37,8 @@ private RecordCallbackRequest(Guid callbackId,
3537

3638
public String TypeString { get; }
3739

40+
public String Reference { get; }
41+
3842
#endregion
3943

4044
#region Methods
@@ -43,9 +47,10 @@ public static RecordCallbackRequest Create(Guid callbackId,
4347
Int32 messageFormat,
4448
String typeString,
4549
String callbackMessage,
50+
String reference,
4651
String[] destinations)
4752
{
48-
return new RecordCallbackRequest(callbackId, messageFormat, typeString, callbackMessage, destinations);
53+
return new RecordCallbackRequest(callbackId, messageFormat, typeString, callbackMessage, reference, destinations);
4954
}
5055

5156
#endregion

CallbackHandler.CallbackMessage.DomainEvents/CallbackReceivedEvent.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,22 @@ public record CallbackReceivedEvent : DomainEventRecord.DomainEvent
88
public CallbackReceivedEvent(Guid aggregateId, String typeString,
99
Int32 messageFormat,
1010
String callbackMessage,
11+
String reference,
1112
String destination) : base(aggregateId, Guid.NewGuid())
1213
{
1314
this.TypeString = typeString;
1415
this.MessageFormat = messageFormat;
1516
this.CallbackMessage = callbackMessage;
1617
this.Destination = destination;
18+
this.Reference = reference;
1719
}
1820

1921
public String TypeString { get; init; }
2022
public Int32 MessageFormat { get; init; }
2123
public String CallbackMessage { get; init; }
2224

25+
public String Reference { get; init; }
26+
2327
public String Destination { get; init; }
2428
}
2529
}

CallbackHandler.CallbackMessageAggregate.Tests/CallbackMessageAggregateTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ public void CallbackMessageAggregate_RecordCallback_CallbackIsRecorded()
2020
{
2121
CallbackMessageAggregate aggregate = CallbackMessageAggregate.Create(TestData.CallbackId);
2222

23-
aggregate.RecordCallback(TestData.TypeString, MessageFormat.JSON, TestData.CallbackMessage, TestData.Destinations);
23+
aggregate.RecordCallback(TestData.TypeString, MessageFormat.JSON, TestData.CallbackMessage, TestData.Reference, TestData.Destinations);
2424

2525
aggregate.ShouldSatisfyAllConditions(() => aggregate.CallbackMessage.ShouldBe(TestData.CallbackMessage),
2626
() => aggregate.TypeString.ShouldBe(TestData.TypeString),
2727
() => aggregate.MessageFormat.ShouldBe(MessageFormat.JSON),
28+
() => aggregate.Reference.ShouldBe(TestData.Reference),
2829
() => aggregate.GetDestinations().ShouldNotBeEmpty(),
2930
() => aggregate.GetDestinations().Length.ShouldBe(TestData.Destinations.Length));
3031
}

CallbackHandler.CallbackMessageAggregate.Tests/DomainEventTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ public class DomainEventTests
1111
public void CallbackReceivedEvent_CanbeCreated_IsCreated()
1212
{
1313
CallbackReceivedEvent callbackReceivedEvent =
14-
new CallbackReceivedEvent(TestData.CallbackId, TestData.TypeString, TestData.MessageFormat, TestData.CallbackMessage, TestData.Destinations[0]);
14+
new CallbackReceivedEvent(TestData.CallbackId, TestData.TypeString, TestData.MessageFormat,
15+
TestData.CallbackMessage, TestData.Reference, TestData.Destinations[0]);
1516

1617
callbackReceivedEvent.ShouldNotBeNull();
1718
callbackReceivedEvent.ShouldSatisfyAllConditions(() => callbackReceivedEvent.CallbackMessage.ShouldBe(TestData.CallbackMessage),
1819
() => callbackReceivedEvent.TypeString.ShouldBe(TestData.TypeString),
1920
() => callbackReceivedEvent.MessageFormat.ShouldBe(TestData.MessageFormat),
21+
() => callbackReceivedEvent.Reference.ShouldBe(TestData.Reference),
2022
() => callbackReceivedEvent.Destination.ShouldBe(TestData.Destinations[0]));
2123
}
2224
}

CallbackHandler.CallbackMessageAggregate/CallbackMessageAggregate.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ private CallbackMessageAggregate(Guid aggregateId)
4747

4848
public String TypeString { get; private set; }
4949

50+
public String Reference { get; private set; }
51+
5052
#endregion
5153

5254
#region Methods
@@ -74,11 +76,12 @@ public override void PlayEvent(IDomainEvent domainEvent)
7476
public void RecordCallback(String typeString,
7577
MessageFormat messageFormat,
7678
String callbackMessage,
79+
String reference,
7780
String[] destinations)
7881
{
7982
foreach (String destination in destinations)
8083
{
81-
CallbackReceivedEvent callbackReceivedEvent = new CallbackReceivedEvent(this.AggregateId, typeString, (Int32)messageFormat, callbackMessage, destination);
84+
CallbackReceivedEvent callbackReceivedEvent = new CallbackReceivedEvent(this.AggregateId, typeString, (Int32)messageFormat, callbackMessage, reference, destination);
8285
this.ApplyAndAppend(callbackReceivedEvent);
8386
}
8487
}
@@ -95,6 +98,7 @@ private void PlayEvent(CallbackReceivedEvent domainEvent)
9598
this.MessageFormat = (MessageFormat)domainEvent.MessageFormat;
9699
this.TypeString = domainEvent.TypeString;
97100
this.Destinations.Add(domainEvent.Destination);
101+
this.Reference = domainEvent.Reference;
98102
}
99103

100104
#endregion

CallbackHandler/Controllers/CallbackController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public async Task<IActionResult> RecordCallback(Deposit depositCallback,
4141
1, // JSON
4242
depositCallback.GetType().ToString(),
4343
JsonConvert.SerializeObject(depositCallback),
44+
depositCallback.Reference,
4445
new[] {"EstateManagement"});
4546

4647
await this.Mediator.Send(request, cancellationToken);

0 commit comments

Comments
 (0)