88 using BusinessLogic . Services ;
99 using EstateManagement . Client ;
1010 using EventHandling ;
11+ using MessagingService . Client ;
1112 using Microsoft . Extensions . Configuration ;
1213 using Moq ;
1314 using SecurityService . Client ;
@@ -39,6 +40,8 @@ public async Task TransactionDomainEventHandler_Handle_TransactionHasBeenComplet
3940 Mock < ISecurityServiceClient > securityServiceClient = new Mock < ISecurityServiceClient > ( ) ;
4041 securityServiceClient . Setup ( s => s . GetToken ( It . IsAny < String > ( ) , It . IsAny < String > ( ) , It . IsAny < CancellationToken > ( ) ) ) . ReturnsAsync ( TestData . TokenResponse ) ;
4142
43+ Mock < ITransactionReceiptBuilder > transactionReceiptBulder = new Mock < ITransactionReceiptBuilder > ( ) ;
44+ Mock < IMessagingServiceClient > messagingServiceClient = new Mock < IMessagingServiceClient > ( ) ;
4245
4346 IConfigurationRoot configurationRoot = new ConfigurationBuilder ( ) . AddInMemoryCollection ( TestData . DefaultAppSettings ) . Build ( ) ;
4447 ConfigurationReader . Initialise ( configurationRoot ) ;
@@ -47,7 +50,9 @@ public async Task TransactionDomainEventHandler_Handle_TransactionHasBeenComplet
4750 TransactionDomainEventHandler transactionDomainEventHandler = new TransactionDomainEventHandler ( transactionAggregateManager . Object ,
4851 feeCalculationManager . Object ,
4952 estateClient . Object ,
50- securityServiceClient . Object ) ;
53+ securityServiceClient . Object ,
54+ transactionReceiptBulder . Object ,
55+ messagingServiceClient . Object ) ;
5156
5257 await transactionDomainEventHandler . Handle ( TestData . TransactionHasBeenCompletedEvent , CancellationToken . None ) ;
5358 }
@@ -63,14 +68,19 @@ public async Task TransactionDomainEventHandler_Handle_TransactionHasBeenComplet
6368
6469 Mock < ISecurityServiceClient > securityServiceClient = new Mock < ISecurityServiceClient > ( ) ;
6570
71+ Mock < ITransactionReceiptBuilder > transactionReceiptBulder = new Mock < ITransactionReceiptBuilder > ( ) ;
72+ Mock < IMessagingServiceClient > messagingServiceClient = new Mock < IMessagingServiceClient > ( ) ;
73+
6674 IConfigurationRoot configurationRoot = new ConfigurationBuilder ( ) . AddInMemoryCollection ( TestData . DefaultAppSettings ) . Build ( ) ;
6775 ConfigurationReader . Initialise ( configurationRoot ) ;
6876 Logger . Initialise ( NullLogger . Instance ) ;
6977
7078 TransactionDomainEventHandler transactionDomainEventHandler = new TransactionDomainEventHandler ( transactionAggregateManager . Object ,
7179 feeCalculationManager . Object ,
7280 estateClient . Object ,
73- securityServiceClient . Object ) ;
81+ securityServiceClient . Object ,
82+ transactionReceiptBulder . Object ,
83+ messagingServiceClient . Object ) ;
7484
7585 await transactionDomainEventHandler . Handle ( TestData . TransactionHasBeenCompletedEvent , CancellationToken . None ) ;
7686 }
@@ -86,14 +96,19 @@ public async Task TransactionDomainEventHandler_Handle_TransactionHasBeenComplet
8696
8797 Mock < ISecurityServiceClient > securityServiceClient = new Mock < ISecurityServiceClient > ( ) ;
8898
99+ Mock < ITransactionReceiptBuilder > transactionReceiptBulder = new Mock < ITransactionReceiptBuilder > ( ) ;
100+ Mock < IMessagingServiceClient > messagingServiceClient = new Mock < IMessagingServiceClient > ( ) ;
101+
89102 IConfigurationRoot configurationRoot = new ConfigurationBuilder ( ) . AddInMemoryCollection ( TestData . DefaultAppSettings ) . Build ( ) ;
90103 ConfigurationReader . Initialise ( configurationRoot ) ;
91104 Logger . Initialise ( NullLogger . Instance ) ;
92105
93106 TransactionDomainEventHandler transactionDomainEventHandler = new TransactionDomainEventHandler ( transactionAggregateManager . Object ,
94107 feeCalculationManager . Object ,
95108 estateClient . Object ,
96- securityServiceClient . Object ) ;
109+ securityServiceClient . Object ,
110+ transactionReceiptBulder . Object ,
111+ messagingServiceClient . Object ) ;
97112
98113 await transactionDomainEventHandler . Handle ( TestData . TransactionHasBeenCompletedEvent , CancellationToken . None ) ;
99114 }
@@ -109,14 +124,19 @@ public async Task TransactionDomainEventHandler_Handle_TransactionHasBeenComplet
109124
110125 Mock < ISecurityServiceClient > securityServiceClient = new Mock < ISecurityServiceClient > ( ) ;
111126
127+ Mock < ITransactionReceiptBuilder > transactionReceiptBulder = new Mock < ITransactionReceiptBuilder > ( ) ;
128+ Mock < IMessagingServiceClient > messagingServiceClient = new Mock < IMessagingServiceClient > ( ) ;
129+
112130 IConfigurationRoot configurationRoot = new ConfigurationBuilder ( ) . AddInMemoryCollection ( TestData . DefaultAppSettings ) . Build ( ) ;
113131 ConfigurationReader . Initialise ( configurationRoot ) ;
114132 Logger . Initialise ( NullLogger . Instance ) ;
115133
116134 TransactionDomainEventHandler transactionDomainEventHandler = new TransactionDomainEventHandler ( transactionAggregateManager . Object ,
117135 feeCalculationManager . Object ,
118136 estateClient . Object ,
119- securityServiceClient . Object ) ;
137+ securityServiceClient . Object ,
138+ transactionReceiptBulder . Object ,
139+ messagingServiceClient . Object ) ;
120140
121141 await transactionDomainEventHandler . Handle ( TestData . TransactionHasBeenCompletedEvent , CancellationToken . None ) ;
122142 }
@@ -132,16 +152,50 @@ public async Task TransactionDomainEventHandler_Handle_TransactionHasBeenComplet
132152
133153 Mock < ISecurityServiceClient > securityServiceClient = new Mock < ISecurityServiceClient > ( ) ;
134154
155+ Mock < ITransactionReceiptBuilder > transactionReceiptBulder = new Mock < ITransactionReceiptBuilder > ( ) ;
156+ Mock < IMessagingServiceClient > messagingServiceClient = new Mock < IMessagingServiceClient > ( ) ;
157+
135158 IConfigurationRoot configurationRoot = new ConfigurationBuilder ( ) . AddInMemoryCollection ( TestData . DefaultAppSettings ) . Build ( ) ;
136159 ConfigurationReader . Initialise ( configurationRoot ) ;
137160 Logger . Initialise ( NullLogger . Instance ) ;
138161
139162 TransactionDomainEventHandler transactionDomainEventHandler = new TransactionDomainEventHandler ( transactionAggregateManager . Object ,
140163 feeCalculationManager . Object ,
141164 estateClient . Object ,
142- securityServiceClient . Object ) ;
165+ securityServiceClient . Object ,
166+ transactionReceiptBulder . Object ,
167+ messagingServiceClient . Object ) ;
143168
144169 await transactionDomainEventHandler . Handle ( TestData . TransactionHasBeenCompletedEvent , CancellationToken . None ) ;
145170 }
171+
172+ [ Fact ]
173+ public async Task TransactionDomainEventHandler_Handle_CustomerEmailReceiptRequestedEvent_EventIsHandled ( )
174+ {
175+ Mock < ITransactionAggregateManager > transactionAggregateManager = new Mock < ITransactionAggregateManager > ( ) ;
176+ transactionAggregateManager . Setup ( t => t . GetAggregate ( It . IsAny < Guid > ( ) , It . IsAny < Guid > ( ) , It . IsAny < CancellationToken > ( ) ) )
177+ . ReturnsAsync ( TestData . GetCompletedAuthorisedSaleTransactionAggregate ) ;
178+ Mock < IFeeCalculationManager > feeCalculationManager = new Mock < IFeeCalculationManager > ( ) ;
179+ Mock < IEstateClient > estateClient = new Mock < IEstateClient > ( ) ;
180+
181+ Mock < ISecurityServiceClient > securityServiceClient = new Mock < ISecurityServiceClient > ( ) ;
182+ securityServiceClient . Setup ( s => s . GetToken ( It . IsAny < String > ( ) , It . IsAny < String > ( ) , It . IsAny < CancellationToken > ( ) ) ) . ReturnsAsync ( TestData . TokenResponse ) ;
183+
184+ Mock < ITransactionReceiptBuilder > transactionReceiptBulder = new Mock < ITransactionReceiptBuilder > ( ) ;
185+ Mock < IMessagingServiceClient > messagingServiceClient = new Mock < IMessagingServiceClient > ( ) ;
186+
187+ IConfigurationRoot configurationRoot = new ConfigurationBuilder ( ) . AddInMemoryCollection ( TestData . DefaultAppSettings ) . Build ( ) ;
188+ ConfigurationReader . Initialise ( configurationRoot ) ;
189+ Logger . Initialise ( NullLogger . Instance ) ;
190+
191+ TransactionDomainEventHandler transactionDomainEventHandler = new TransactionDomainEventHandler ( transactionAggregateManager . Object ,
192+ feeCalculationManager . Object ,
193+ estateClient . Object ,
194+ securityServiceClient . Object ,
195+ transactionReceiptBulder . Object ,
196+ messagingServiceClient . Object ) ;
197+
198+ await transactionDomainEventHandler . Handle ( TestData . CustomerEmailReceiptRequestedEvent , CancellationToken . None ) ;
199+ }
146200 }
147201}
0 commit comments