public ServiceResult <CorporateActionsResponse> GetCorporateActions(Guid stockId) { if (_Portfolio == null) { return(ServiceResult <CorporateActionsResponse> .NotFound()); } var holding = _Portfolio.Holdings[stockId]; if (holding == null) { return(ServiceResult <CorporateActionsResponse> .NotFound()); } var response = new CorporateActionsResponse(); foreach (var corporateAction in holding.Stock.CorporateActions.InDateRange(holding.EffectivePeriod)) { if (!corporateAction.HasBeenApplied(_Portfolio.Transactions)) { response.CorporateActions.Add(new CorporateActionsResponse.CorporateActionItem() { Id = corporateAction.Id, ActionDate = corporateAction.Date, Stock = corporateAction.Stock.ToSummaryResponse(corporateAction.Date), Description = corporateAction.Description }); } } return(ServiceResult <CorporateActionsResponse> .Ok(response)); }
public void GetCorporateActions() { var mockRepository = new MockRepository(MockBehavior.Strict); var response = new CorporateActionsResponse(); var service = mockRepository.Create <IPortfolioCorporateActionsService>(); service.Setup(x => x.GetCorporateActions()).Returns(ServiceResult <CorporateActionsResponse> .Ok(response)).Verifiable(); var controller = new PortfolioController(); var result = controller.GetCorporateActions(service.Object); result.Result.Should().BeOkObjectResult().Value.Should().Be(response); mockRepository.VerifyAll(); }
public async Task GetCorporateActions() { var mockRepository = new MockRepository(MockBehavior.Strict); var portfolioId = Guid.NewGuid(); var response = new CorporateActionsResponse(); var messageHandler = mockRepository.Create <IRestClientMessageHandler>(); messageHandler.SetupProperty(x => x.Portfolio, portfolioId); messageHandler.Setup(x => x.GetAsync <CorporateActionsResponse>(It.Is <string>(x => x == "portfolio/" + portfolioId + "/corporateactions"))) .Returns(Task <IncomeResponse> .FromResult(response)) .Verifiable(); var resource = new PortfolioResource(messageHandler.Object); var result = await resource.GetCorporateActions(); result.Should().Be(response); mockRepository.Verify(); }