Esempio n. 1
0
        public async Task Get_List_of_Portfolios_For_User_Returns_Correct_Data()
        {
            var portfolioList = new List <Portfolio> {
                new Portfolio
                {
                    Id = Guid.NewGuid(), CreatedDateTime = DateTime.Now, IsActive = true, Name = "Portfolio 1", Owner = _user
                },
                new Portfolio
                {
                    Id = Guid.NewGuid(), CreatedDateTime = DateTime.Now.AddMonths(-3), IsActive = true, Name = "Portfolio 2", Owner = _user2
                }
            };

            _portfolioServceMock.Setup(s => s.GetPortfolios(It.IsAny <string>()))
            .Returns(Task.FromResult <IEnumerable <Portfolio> >(portfolioList.Where(x => x.Owner == _user))).Verifiable();

            var controller = new PortfoliosController(_portfolioServceMock.Object, _mapperMock);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = _principle
                }
            };

            var results = await controller.GetPortfolios();

            var okResult = results.Result as OkObjectResult;
            var okVal    = okResult.Value as IEnumerable <PortfolioListItemDto>;

            Assert.AreEqual((int)System.Net.HttpStatusCode.OK, okResult.StatusCode);
            Assert.AreEqual(1, okVal.Count());
        }
Esempio n. 2
0
        public async Task Create_Portfolio_With_Valid_Data_WorksAsync()
        {
            var portfolio = new Portfolio {
                Name = "New Portfolio", Owner = _user
            };

            _portfolioServceMock.Setup(x => x.CreatePortfolio(It.IsAny <Portfolio>(), It.IsAny <Guid>())).ReturnsAsync(portfolio);

            var controller = new PortfoliosController(_portfolioServceMock.Object, _mapperMock);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = _principle
                }
            };

            var createPortfolio = _mapperMock.Map <PortfolioCreateDto>(portfolio);
            var results         = await controller.CreatePortfolio(createPortfolio);

            var okResult = results.Result as CreatedAtActionResult;

            Assert.AreEqual((int)HttpStatusCode.Created, okResult.StatusCode);
        }
Esempio n. 3
0
        public async Task Get_Portfolio_By_Id_Returns_Correct_Portfolio()
        {
            var portfolio = new Portfolio {
                Id = Guid.NewGuid(), CreatedDateTime = DateTime.Now, Name = "Test", Owner = _user, IsActive = true
            };

            _portfolioServceMock.Setup(x => x.GetPortfolioById(It.IsAny <Guid>())).ReturnsAsync(portfolio);

            var controller = new PortfoliosController(_portfolioServceMock.Object, _mapperMock);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = _principle
                }
            };
            var results = await controller.GetPortfolioById(It.IsAny <Guid>());

            Assert.IsNotNull(results);
            var okResult = results.Result as OkObjectResult;

            Assert.AreEqual((int)HttpStatusCode.OK, okResult.StatusCode);

            var okVal = okResult.Value as PortfolioDetailDto;
        }
        public void RemoveMedicineFromPortfolioTest()
        {
            userManager.Setup(repo => repo.GetUserAsync(user)).ReturnsAsync(doctor);
            controller = new PortfoliosController(portfolios.Object, userManager.Object, medicines.Object, categories.Object,
                                                  categoryMedicines.Object, medicineEffects.Object);

            controller.ControllerContext = context;

            medicines.Setup(repo => repo.GetObject(medicineInPortfolio.ID))
            .ReturnsAsync(new MedicineObject(medicineInPortfolio));
            portfolios.Setup(repo => repo.GetObject(medicineInPortfolio.ID, doctor.Id))
            .ReturnsAsync(new PortfolioObject(new PortfolioDbRecord()));
            categoryMedicines.Setup(repo => repo.GetObject(category.ID, medicineInPortfolio.ID))
            .ReturnsAsync(new CategoryMedicineObject(new CategoryMedicineDbRecord()));

            var result = controller.RemoveMedicineFromPortfolio(medicineInPortfolio.ID, category.ID);

            Assert.IsInstanceOfType(result.Result, typeof(RedirectToActionResult));
        }
        public void AddMedicineToPortfolioTest()
        {
            userManager.Setup(repo => repo.GetUserAsync(user)).ReturnsAsync(doctor);
            controller = new PortfoliosController(portfolios.Object, userManager.Object, medicines.Object,
                                                  categories.Object, categoryMedicines.Object, medicineEffects.Object);

            controller.ControllerContext = context;

            medicines.Setup(repo => repo.GetObject(medicineInPortfolio.ID))
            .ReturnsAsync(new MedicineObject(medicineInPortfolio));
            categories.Setup(repo => repo.GetObject(category.ID))
            .ReturnsAsync(new CategoryObject(category));
            portfolios.Setup(repo => repo.AddObject(It.IsAny <PortfolioObject>())).Returns <PortfolioObject>(fg => AddPortfolio(fg));
            categoryMedicines.Setup(repo => repo.AddObject(It.IsAny <CategoryMedicineObject>()))
            .Returns <CategoryMedicineObject>(fg => AddCategoryMedicine(fg));

            var result = controller.AddMedicineToPortfolio(medicineNotInPortfolio.ID, category.ID);

            Assert.IsInstanceOfType(result.Result, typeof(RedirectToActionResult));
            Assert.AreEqual(1, portfolioObjects.Count);
            Assert.AreEqual(1, categoryMedicineObjects.Count);
        }
Esempio n. 6
0
        public async Task DeletePortfolio_Correctly_Deletes_The_PortfolioAsync()
        {
            var portfolioId = Guid.NewGuid();

            _portfolioServceMock.Setup(x => x.DeletePortfolio(portfolioId)).ReturnsAsync(true);

            var controller = new PortfoliosController(_portfolioServceMock.Object, _mapperMock);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = _principle
                }
            };

            var results = await controller.DeletePortfolio(portfolioId);

            var okResult = results as NoContentResult;

            Assert.AreEqual((int)HttpStatusCode.NoContent, okResult.StatusCode);
        }
 public void Setup()
 {
     _unitOfWork = new Mock <IUnitOfWork>();
     _mapper     = new Mock <IMapper>();
     _controller = new PortfoliosController(_unitOfWork.Object, _mapper.Object);
 }
 public PortfolioControllerTests()
 {
     fixture             = new Fixture();
     portfolioRepository = new Mock <IPortfolioRepository>();
     portfolioController = new PortfoliosController(portfolioRepository.Object);
 }
Esempio n. 9
0
        public async Task GetPortfolioAndProperties_Returns_The_Correct_Portfolio_And_Related_PropertiesAsync()
        {
            var portfolio = new Portfolio
            {
                Id = Guid.NewGuid(),
                CreatedDateTime = DateTime.Now,
                Name            = "Test",
                Owner           = _user,
                IsActive        = true,
                Properties      = new List <Property>
                {
                    new Property {
                        Address = new Address
                        {
                            City            = "Exeter",
                            CreatedDateTime = DateTime.Now,
                            IsActive        = true,
                            Line1           = "Line 1",
                            PostCode        = "EX1 1EX"
                        },
                        Description   = "Some Description",
                        IsActive      = true,
                        NoOfBeds      = 2,
                        PropertyValue = 12345,
                        RentalPrice   = 432,
                        Tenants       = new List <Tenant>
                        {
                            new Tenant
                            {
                                FirstName        = "Bob",
                                LastName         = "Builder",
                                ContactNumber    = "019238475203",
                                EmailAddress     = "*****@*****.**",
                                IsActive         = true,
                                Profession       = "Builder",
                                TenancyStartDate = DateTime.Now.AddDays(-90),
                                Title            = "Mr"
                            }
                        },
                        PurchaseDate  = DateTime.Now.AddDays(-96),
                        PurchasePrice = 908734
                    }
                }
            };

            _portfolioServceMock.Setup(x => x.GetPortfolioAndProperties(It.IsAny <Guid>())).ReturnsAsync(portfolio);

            var controller = new PortfoliosController(_portfolioServceMock.Object, _mapperMock);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = _principle
                }
            };
            var results = await controller.GetPortfolioAndProperties(It.IsAny <Guid>());

            Assert.IsNotNull(results);
            var okResult = results.Result as OkObjectResult;

            Assert.AreEqual((int)HttpStatusCode.OK, okResult.StatusCode);

            var okVal = okResult.Value as PortfolioDetailDto;

            Assert.AreEqual(1, okVal.Properties.Count);
            Assert.AreEqual(1, okVal.Properties.First().Tenants.Count);
        }