Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public void CalculatePageNumbersReturnsExpectedResultUnevenlyDistributed()
        {
            var expected = 5;

            _controllerToTest = new ExpenseGroupsController(_mockExpenseGroupRespository.Object, _mockExpenseGroupStatusRepository.Object, _mockFactory.Object, _mockUrlHelper.Object, _mockDapperRepository.Object);

            var actual = _controllerToTest.CalculatePageNumbers(14, 3);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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());
        }
Exemplo n.º 7
0
        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());
        }