public async Task ShouldInsert_StockSubscriptionAndDividendDeclaration_UsingStockSubscriptionAggregate() { StockSubscription stockSubscription = new StockSubscription ( new EconomicEvent(Guid.NewGuid(), EventType.CashReceiptFromStockSubscription), FinancierId.Create(new Guid("84164388-28ff-4b47-bd63-dd9326d32236")), StockIssueDate.Create(new DateTime(2021, 11, 9)), SharesIssured.Create(33333), PricePerShare.Create(.33M), UserId.Create(new Guid("660bb318-649e-470d-9d2b-693bfb0b2744")) ); DividendPaymentRate dividendPayment = new DividendPaymentRate ( new EconomicEvent(Guid.NewGuid(), EventType.CashDisbursementForDividentPayment), stockSubscription, DividendDeclarationDate.Create(new DateTime(2021, 11, 22)), DividendPerShare.Create(.02M), UserId.Create(new Guid("660bb318-649e-470d-9d2b-693bfb0b2744")) ); stockSubscription.AddDividendPaymentRate(dividendPayment); await _stockSubscriptionRepo.AddAsync(stockSubscription); await _unitOfWork.Commit(); var result = await _stockSubscriptionRepo.Exists(stockSubscription.Id); Assert.True(result); }
public async Task ShouldDelete_DividendDeclaration_UsingStockSubscriptionAggregate() { StockSubscription stockSubscription = await _stockSubscriptionRepo.GetByIdAsync(new Guid("264632b4-20bd-473f-9a9b-dd6f3b6ddbac")); DividendPaymentRate dividendPayment = stockSubscription.DividendPaymentRates.FirstOrDefault(p => p.Id == new Guid("24d6936a-beb5-451b-a950-0f30e3ad463d")); stockSubscription.DeleteDividendPaymentRate(dividendPayment.Id); await _unitOfWork.Commit(); DividendPaymentRate result = stockSubscription.DividendPaymentRates.FirstOrDefault(p => p.Id == new Guid("24d6936a-beb5-451b-a950-0f30e3ad463d")); Assert.Null(result); }
public async Task ShouldUpdate_DividendDeclaration_UsingStockSubscriptionAggregate() { StockSubscription stockSubscription = await _stockSubscriptionRepo.GetByIdAsync(new Guid("264632b4-20bd-473f-9a9b-dd6f3b6ddbac")); DividendPaymentRate dividendPayment = stockSubscription.DividendPaymentRates.FirstOrDefault(p => p.Id == new Guid("24d6936a-beb5-451b-a950-0f30e3ad463d")); dividendPayment.UpdateDividendDeclarationDate(DividendDeclarationDate.Create(new DateTime(2021, 3, 16))); dividendPayment.UpdateDividendPerShare(DividendPerShare.Create(.035M)); stockSubscription.UpdateDividendPaymentRate(dividendPayment); await _unitOfWork.Commit(); DividendPaymentRate result = stockSubscription.DividendPaymentRates.FirstOrDefault(p => p.Id == new Guid("24d6936a-beb5-451b-a950-0f30e3ad463d")); Assert.Equal(new DateTime(2021, 3, 16), result.DividendDeclarationDate); Assert.Equal(.035M, result.DividendPerShare); }
public async Task ShouldInsert_DividendDeclaration_UsingStockSubscriptionAggregate() { StockSubscription stockSubscription = await _stockSubscriptionRepo.GetByIdAsync(new Guid("5997f125-bfca-4540-a144-01e444f6dc25")); EconomicEvent economicEvent = new EconomicEvent(Guid.NewGuid(), EventType.CashDisbursementForDividentPayment); await _stockSubscriptionRepo.AddEconomicEventAsync(economicEvent); DividendPaymentRate dividendPayment = new DividendPaymentRate ( economicEvent, stockSubscription, DividendDeclarationDate.Create(new DateTime(2021, 11, 22)), DividendPerShare.Create(.02M), UserId.Create(new Guid("660bb318-649e-470d-9d2b-693bfb0b2744")) ); stockSubscription.AddDividendPaymentRate(dividendPayment); _stockSubscriptionRepo.Update(stockSubscription); await _unitOfWork.Commit(); DividendPaymentRate result = stockSubscription.DividendPaymentRates.FirstOrDefault(p => p.Id == dividendPayment.EconomicEvent.Id); Assert.NotNull(result); }