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()); }
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); }
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); }
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); }
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); }