public void GetExpenseGroupsFilteredByUserIdReturnsExpectedResults() { var expectedExpenseGroupEntityList = new List <ExpenseGroup> { new ExpenseGroup { Description = "TestDescription1", ExpenseGroupStatusId = 1, ExpenseGroupStatus = null, Id = 1, Title = "TestTitle1", UserId = "TestUser1", Expenses = new List <Expense>() } }; var expectedExpenseGroupDtoList = new List <DTO.ExpenseGroup> { new DTO.ExpenseGroup { Description = "TestDescription1", ExpenseGroupStatusId = 1, Id = 1, Title = "TestTitle1", UserId = "TestUser1" } }; _mockFactory.Setup( f => f.CreateExpenseGroups( It.Is <List <ExpenseGroup> >( egl => egl[0].Description == expectedExpenseGroupEntityList[0].Description))) .Returns(expectedExpenseGroupDtoList); _mockFactory.Setup( f => f.CreateDataShapedObject( It.Is <ExpenseGroup>( eg => eg.UserId == expectedExpenseGroupDtoList[0].UserId) , It.IsAny <List <string> >())) .Returns(expectedExpenseGroupDtoList); _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object); _controllerToTest.Request = new HttpRequestMessage(); _controllerToTest.Request.RequestUri = new Uri("https://www.google.com/?search?q=hello"); _controllerToTest.Configuration = new HttpConfiguration(); var userId = "TestUser1"; var result = _controllerToTest.Get(userId: userId) as OkNegotiatedContentResult <IEnumerable <object> >; Assert.IsNotNull(result); Assert.AreEqual(1, result.Content.ToList().Count); }
public void GetExpenseGroupsNullResultReturnsNotFoundResponse() { _mockExpenseGroupRespository = new Mock <IExpenseGroupRepository>(); _mockFactory = new Mock <IExpenseGroupFactory>(); _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object); var result = _controllerToTest.Get() as NotFoundResult; Assert.IsInstanceOfType(result, typeof(NotFoundResult)); }
public void GetExpenseGroupsShouldReturnAllAvailableExpenseGroups() { _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object); _controllerToTest.Request = new HttpRequestMessage(); _controllerToTest.Request.RequestUri = new Uri("https://www.google.com/?search?q=hello"); _controllerToTest.Configuration = new HttpConfiguration(); var result = _controllerToTest.Get() as OkNegotiatedContentResult <IEnumerable <object> >; Assert.IsNotNull(result); Assert.AreEqual(3, result.Content.Count()); }
public void GetExpenseGroupsFilteredOutReturnsNotFoundResponse() { var emptyExpenseGroupList = new List <ExpenseGroup>(); _mockExpenseGroupRespository.Setup(r => r.GetAllAsQueryable()).Returns(emptyExpenseGroupList.AsQueryable()); _mockFactory = new Mock <IExpenseGroupFactory>(); _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object); var result = _controllerToTest.Get() as NotFoundResult; Assert.IsInstanceOfType(result, typeof(NotFoundResult)); }
public void GetExpenseGroupsPassingPageIndexReturnsExpectedResults() { _expenseGroupEntities = new List <ExpenseGroup>(); for (var i = 0; i < 13; i++) { _expenseGroupEntities.Add(new ExpenseGroup { Description = "ExpenseGroupDescription" + (i + 1), ExpenseGroupStatusId = i < 25 ? 1 : 2, Id = i + 1, Title = "ExpenseGroupTitle" + (i + 1), UserId = i < 10 ? "User1" : "User2" }); } _expenseGroupDtos = new List <DTO.ExpenseGroup>(); for (var i = 0; i < 13; i++) { _expenseGroupDtos.Add(new DTO.ExpenseGroup { Description = "ExpenseGroupDescription" + (i + 1), ExpenseGroupStatusId = i < 25 ? 1 : 2, Id = i + 1, Title = "ExpenseGroupTitle" + (i + 1), UserId = i < 10 ? "User1" : "User2" }); } var pageSize = 5; var maxPageSize = 10; var pageIndex = 3; _mockExpenseGroupRespository.Setup(r => r.GetAllAsQueryable()).Returns(_expenseGroupEntities.AsQueryable()); _mockFactory.Setup(f => f.CreateExpenseGroups(It.Is <List <ExpenseGroup> >(egl => egl.Count == pageSize && egl.TrueForAll(eg => eg.Id > pageSize)))) .Returns(_expenseGroupDtos.Skip((pageIndex - 1) * pageSize).Take(pageSize)); _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object); _controllerToTest.Request = new HttpRequestMessage(); _controllerToTest.Request.RequestUri = new Uri("https://www.google.com/?search?q=hello"); _controllerToTest.Configuration = new HttpConfiguration(); var result = _controllerToTest.Get(pageIndex: pageIndex) as OkNegotiatedContentResult <IEnumerable <object> >; Assert.AreEqual(3, result.Content.Count()); }
public void GetExpenseGroupsWithDefaultPagingReturnsExpectedResults() { _expenseGroupEntities = new List <ExpenseGroup>(); for (var i = 0; i < 50; i++) { _expenseGroupEntities.Add(new ExpenseGroup { Description = "ExpenseGroupDescription" + (i + 1), ExpenseGroupStatusId = i < 25 ? 1 : 2, Id = i + 1, Title = "ExpenseGroupTitle" + (i + 1), UserId = i < 10 ? "User1" : "User2" }); } _expenseGroupDtos = new List <DTO.ExpenseGroup>(); for (var i = 0; i < 50; i++) { _expenseGroupDtos.Add(new DTO.ExpenseGroup { Description = "ExpenseGroupDescription" + (i + 1), ExpenseGroupStatusId = i < 25 ? 1 : 2, Id = i + 1, Title = "ExpenseGroupTitle" + (i + 1), UserId = i < 10 ? "User1" : "User2" }); } _mockExpenseGroupRespository.Setup(r => r.GetAllAsQueryable()).Returns(_expenseGroupEntities.AsQueryable()); _mockFactory.Setup(f => f.CreateExpenseGroups(It.Is <List <ExpenseGroup> >(egl => egl.Count == 5))) .Returns(_expenseGroupDtos.Take(5)); _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object); _controllerToTest.Request = new HttpRequestMessage(); _controllerToTest.Request.RequestUri = new Uri("https://www.google.com/?search?q=hello"); _controllerToTest.Configuration = new HttpConfiguration(); var result = _controllerToTest.Get() as OkNegotiatedContentResult <IEnumerable <object> >; Assert.AreEqual(5, result.Content.Count()); }