public void ChangeDrpParticipation()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var service = mockRepository.Create <IPortfolioService>();

            service.Setup(x => x.ChangeDrpParticipation(stockId, true)).Returns(ServiceResult <PortfolioSummaryResponse> .Ok()).Verifiable();

            var controller = new HoldingController();
            var result     = controller.ChangeDrpParticipation(service.Object, stockId, true);

            result.Should().BeOkResult();

            mockRepository.VerifyAll();
        }
        public void GetHoldingsBothDates()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var response = new List <Holding>();

            var service = mockRepository.Create <IPortfolioHoldingService>();

            service.Setup(x => x.GetHoldings(new DateRange(new Date(2000, 06, 01), new Date(2000, 12, 31)))).Returns(ServiceResult <List <Holding> > .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.Get(service.Object, null, new DateTime(2000, 06, 01), new DateTime(2000, 12, 31));

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }
        public void GetHoldingNotFound()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var service = mockRepository.Create <IPortfolioHoldingService>();

            service.Setup(x => x.GetHolding(stockId, new Date(2000, 01, 01))).Returns(ServiceResult <Holding> .NotFound()).Verifiable();

            var controller = new HoldingController();
            var result     = controller.Get(service.Object, stockId, new DateTime(2000, 01, 01));

            result.Result.Should().BeNotFoundResult();

            mockRepository.VerifyAll();
        }
        public void GetCorporateActions()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId  = Guid.NewGuid();
            var response = new CorporateActionsResponse();

            var service = mockRepository.Create <IPortfolioCorporateActionsService>();

            service.Setup(x => x.GetCorporateActions(stockId)).Returns(ServiceResult <CorporateActionsResponse> .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.GetCorporateActions(service.Object, stockId);

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }
        public void GetDetailedCapitalGainsForDate()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId  = Guid.NewGuid();
            var response = new DetailedUnrealisedGainsResponse();

            var service = mockRepository.Create <IPortfolioCapitalGainsService>();

            service.Setup(x => x.GetDetailedCapitalGains(stockId, new Date(2000, 01, 01))).Returns(ServiceResult <DetailedUnrealisedGainsResponse> .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.GetDetailedCapitalGains(service.Object, stockId, new DateTime(2000, 01, 01));

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }
        public void GetCapitalGainsNoDate()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId  = Guid.NewGuid();
            var response = new SimpleUnrealisedGainsResponse();

            var service = mockRepository.Create <IPortfolioCapitalGainsService>();

            service.Setup(x => x.GetCapitalGains(stockId, Date.Today)).Returns(ServiceResult <SimpleUnrealisedGainsResponse> .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.GetCapitalGains(service.Object, stockId, null);

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }
        public void GetTransactionsBothDates()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId  = Guid.NewGuid();
            var response = new TransactionsResponse();

            var service = mockRepository.Create <IPortfolioTransactionService>();

            service.Setup(x => x.GetTransactions(stockId, new DateRange(new Date(2000, 01, 01), new Date(2000, 12, 31)))).Returns(ServiceResult <TransactionsResponse> .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.GetTransactions(service.Object, stockId, new DateTime(2000, 01, 01), new DateTime(2000, 12, 31));

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }
        public void GetTransactionsNoDates()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId  = Guid.NewGuid();
            var response = new TransactionsResponse();

            var service = mockRepository.Create <IPortfolioTransactionService>();

            service.Setup(x => x.GetTransactions(stockId, new DateRange(Date.Today.AddYears(-1).AddDays(1), Date.Today))).Returns(ServiceResult <TransactionsResponse> .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.GetTransactions(service.Object, stockId, null, null);

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }
        public void GetValueMonthly()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId  = Guid.NewGuid();
            var response = new PortfolioValueResponse();

            var service = mockRepository.Create <IPortfolioValueService>();

            service.Setup(x => x.GetValue(stockId, It.IsAny <DateRange>(), ValueFrequency.Month)).Returns(ServiceResult <PortfolioValueResponse> .Ok(response)).Verifiable();

            var controller = new HoldingController();
            var result     = controller.GetValue(service.Object, stockId, null, null, ValueFrequency.Month);

            result.Result.Should().BeOkObjectResult().Value.Should().Be(response);

            mockRepository.VerifyAll();
        }