@@ -261,40 +261,79 @@ public void MerchantAggregate_MakeDeposit_DepositMade()
261261 MerchantAggregate aggregate = MerchantAggregate . Create ( TestData . MerchantId ) ;
262262 aggregate . Create ( TestData . EstateId , TestData . MerchantName , TestData . DateMerchantCreated ) ;
263263
264- aggregate . MakeDeposit ( TestData . DepositId , TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
264+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
265265
266266 Merchant merchantModel = aggregate . GetMerchant ( ) ;
267267 merchantModel . Deposits . ShouldHaveSingleItem ( ) ;
268268 merchantModel . Deposits . Single ( ) . Source . ShouldBe ( TestData . MerchantDepositSourceManual ) ;
269- merchantModel . Deposits . Single ( ) . DepositId . ShouldBe ( TestData . DepositId ) ;
269+ // merchantModel.Deposits.Single().DepositId.ShouldNotBe (TestData.DepositId);
270270 merchantModel . Deposits . Single ( ) . DepositDateTime . ShouldBe ( TestData . DepositDateTime ) ;
271271 merchantModel . Deposits . Single ( ) . Reference . ShouldBe ( TestData . DepositReference ) ;
272272 merchantModel . Deposits . Single ( ) . Amount . ShouldBe ( TestData . DepositAmount ) ;
273273 }
274274
275+ [ Fact ]
276+ public void MerchantAggregate_MakeDeposit_TwoDeposits_BothDepositsMade ( )
277+ {
278+ MerchantAggregate aggregate = MerchantAggregate . Create ( TestData . MerchantId ) ;
279+ aggregate . Create ( TestData . EstateId , TestData . MerchantName , TestData . DateMerchantCreated ) ;
280+
281+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
282+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , TestData . DepositReference2 , TestData . DepositDateTime2 , TestData . DepositAmount2 ) ;
283+
284+ Merchant merchantModel = aggregate . GetMerchant ( ) ;
285+ merchantModel . Deposits . Count . ShouldBe ( 2 ) ;
286+ }
287+
288+ [ Fact ]
289+ public void MerchantAggregate_MakeDeposit_TwoDepositsSameDetailsApartFromAmounts_BothDepositsMade ( )
290+ {
291+ MerchantAggregate aggregate = MerchantAggregate . Create ( TestData . MerchantId ) ;
292+ aggregate . Create ( TestData . EstateId , TestData . MerchantName , TestData . DateMerchantCreated ) ;
293+
294+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , "Test Data Gen Deposit" , new DateTime ( 2021 , 1 , 1 , 0 , 0 , 0 ) , 650.00m ) ;
295+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , "Test Data Gen Deposit" , new DateTime ( 2021 , 1 , 1 , 0 , 0 , 0 ) , 934.00m ) ;
296+
297+ Merchant merchantModel = aggregate . GetMerchant ( ) ;
298+ merchantModel . Deposits . Count . ShouldBe ( 2 ) ;
299+ }
300+
301+ [ Fact ]
302+ public void MerchantAggregate_MakeDeposit_TwoDepositsOneMonthApartSameDetails_BothDepositsMade ( )
303+ {
304+ MerchantAggregate aggregate = MerchantAggregate . Create ( TestData . MerchantId ) ;
305+ aggregate . Create ( TestData . EstateId , TestData . MerchantName , TestData . DateMerchantCreated ) ;
306+
307+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , "Test Data Gen Deposit" , new DateTime ( 2021 , 1 , 1 , 0 , 0 , 0 ) , 650.00m ) ;
308+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , "Test Data Gen Deposit" , new DateTime ( 2021 , 2 , 1 , 0 , 0 , 0 ) , 650.00m ) ;
309+
310+ Merchant merchantModel = aggregate . GetMerchant ( ) ;
311+ merchantModel . Deposits . Count . ShouldBe ( 2 ) ;
312+ }
313+
275314 [ Fact ]
276315 public void MerchantAggregate_MakeDeposit_MerchantNotCreated_ErrorThrown ( )
277316 {
278317 MerchantAggregate aggregate = MerchantAggregate . Create ( TestData . MerchantId ) ;
279318
280319 Should . Throw < InvalidOperationException > ( ( ) =>
281320 {
282- aggregate . MakeDeposit ( TestData . DepositId , TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
321+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
283322 } ) ;
284323 }
285324
286325 [ Fact ]
287- public void MerchantAggregate_MakeDeposit_DuplicateDepositId_ErrorThrown ( )
326+ public void MerchantAggregate_MakeDeposit_DuplicateDeposit_ErrorThrown ( )
288327 {
289328 MerchantAggregate aggregate = MerchantAggregate . Create ( TestData . MerchantId ) ;
290329 aggregate . Create ( TestData . EstateId , TestData . MerchantName , TestData . DateMerchantCreated ) ;
291- aggregate . MakeDeposit ( TestData . DepositId , TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
330+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
292331 Merchant merchantModel = aggregate . GetMerchant ( ) ;
293332 merchantModel . Deposits . ShouldHaveSingleItem ( ) ;
294333
295334 Should . Throw < InvalidOperationException > ( ( ) =>
296335 {
297- aggregate . MakeDeposit ( TestData . DepositId , TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
336+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceManual , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
298337 } ) ;
299338 }
300339
@@ -306,7 +345,7 @@ public void MerchantAggregate_MakeDeposit_DepositSourceNotSet_ErrorThrown()
306345
307346 Should . Throw < InvalidOperationException > ( ( ) =>
308347 {
309- aggregate . MakeDeposit ( TestData . DepositId , MerchantDepositSource . NotSet , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
348+ aggregate . MakeDeposit ( MerchantDepositSource . NotSet , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
310349 } ) ;
311350 }
312351
@@ -318,7 +357,7 @@ public void MerchantAggregate_MakeDeposit_AutomaticDepositSource_ErrorThrown()
318357
319358 Should . Throw < NotSupportedException > ( ( ) =>
320359 {
321- aggregate . MakeDeposit ( TestData . DepositId , TestData . MerchantDepositSourceAutomatic , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
360+ aggregate . MakeDeposit ( TestData . MerchantDepositSourceAutomatic , TestData . DepositReference , TestData . DepositDateTime , TestData . DepositAmount ) ;
322361 } ) ;
323362 }
324363
0 commit comments