Ejemplo n.º 1
0
        public async Task GetAll_ReturnsListOfUserLunches()
        {
            var listOfUserLunch = new List <UserLunch>
            {
                GetSampleUserLunch(),
                GetSampleUserLunch()
            };

            var userId         = "userid1";
            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);

            _userLunchService.Setup(a => a.GetAsync(It.Is <string>(s => s == userId)))
            .ReturnsAsync(listOfUserLunch);

            var result = await classUnderTest.GetAll(userId);

            var okResult   = Assert.IsType <OkObjectResult>(result);
            var listResult = Assert.IsAssignableFrom <IEnumerable <UserLunchDto> >(okResult.Value);

            foreach (var userLunch in listOfUserLunch)
            {
                Assert.Contains(listResult, lunch => Equals(userLunch, lunch));
            }

            _userLunchService.Verify(a => a.GetAsync(It.Is <string>(s => s == userId)), Times.Once);
        }
Ejemplo n.º 2
0
        public async Task Create_ReturnsCreated()
        {
            var userId       = "userId1234";
            var userLunch    = GetSampleUserLunch(userId: userId);
            var userLunchDto = new InputUserLunchDto
            {
                Approved = userLunch.Approved,
                LunchId  = userLunch.LunchId,
                UserId   = userId
            };

            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);

            _userLunchService.Setup(a => a.CreateAsync(It.Is <UserLunch>(u => Equals(u, userLunchDto))))
            .ReturnsAsync(userLunch);

            var result = await classUnderTest.Create(userId, userLunchDto);

            var okresult     = Assert.IsType <CreatedAtActionResult>(result);
            var createdLunch = Assert.IsType <UserLunchDto>(okresult.Value);

            Assert.True(Equals(createdLunch, userLunchDto));

            _userLunchService.Verify(a => a.CreateAsync(It.Is <UserLunch>(u => Equals(u, userLunchDto))), Times.Once);
        }
Ejemplo n.º 3
0
        public async Task Get_ReturnsNotFound_WhenIdNotExist()
        {
            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);
            var id             = Guid.NewGuid();

            _userLunchService.Setup(a => a.GetByIdAsync(It.Is <Guid>(g => g == id)))
            .ReturnsAsync(null as UserLunch);

            var result = await classUnderTest.Get(id);

            Assert.IsType <NotFoundResult>(result);
            _userLunchService.Verify(a => a.GetByIdAsync(It.Is <Guid>(g => g == id)), Times.Once);
        }
Ejemplo n.º 4
0
        public async Task Delete_ReturnsNoContent()
        {
            var id             = Guid.NewGuid();
            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);

            _userLunchService.Setup(a => a.DeleteByIdAsync(It.Is <Guid>(g => g == id)))
            .ReturnsAsync(1);

            var result = await classUnderTest.Delete(id);

            Assert.IsType <NoContentResult>(result);
            _userLunchService.Verify(a => a.DeleteByIdAsync(It.Is <Guid>(g => g == id)), Times.Once);
        }
Ejemplo n.º 5
0
        public async Task Get_ReturnsOkResult()
        {
            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);
            var id             = Guid.NewGuid();
            var userLunch      = GetSampleUserLunch();

            _userLunchService.Setup(a => a.GetByIdAsync(It.Is <Guid>(g => g == id)))
            .ReturnsAsync(userLunch);

            var result = await classUnderTest.Get(id);

            var okresult        = Assert.IsType <OkObjectResult>(result);
            var userLunchResult = Assert.IsType <UserLunchDto>(okresult.Value);

            Assert.True(Equals(userLunch, userLunchResult));
            _userLunchService.Verify(a => a.GetByIdAsync(It.Is <Guid>(g => g == id)), Times.Once);
        }
Ejemplo n.º 6
0
        public async Task Update_ReturnsNotFound_WhenIdNotExist()
        {
            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);
            var id             = Guid.NewGuid();
            var userId         = "userId123";
            var inputLunch     = new InputUserLunchDto
            {
                Approved = true,
                LunchId  = Guid.NewGuid(),
                UserId   = userId
            };

            _userLunchService.Setup(a => a.UpdateAsync(
                                        It.Is <UserLunch>(u => Equals(u, inputLunch))))
            .ReturnsAsync(null as UserLunch);

            var result = await classUnderTest.Update(userId, id, inputLunch);

            Assert.IsType <NotFoundResult>(result);
            _userLunchService.Verify(a => a.UpdateAsync(
                                         It.Is <UserLunch>(u => Equals(u, inputLunch))), Times.Once);
        }
Ejemplo n.º 7
0
        public async Task Update_ReturnsNoContent()
        {
            var classUnderTest = new UserLunchController(_userLunchService.Object, _mapper);
            var id             = Guid.NewGuid();
            var userId         = "userId123";
            var lunch          = GetSampleUserLunch(id: id, userId: userId);
            var inputLunch     = new InputUserLunchDto()
            {
                Approved = lunch.Approved,
                LunchId  = lunch.LunchId,
                UserId   = lunch.UserId
            };

            _userLunchService.Setup(a => a.UpdateAsync(
                                        It.Is <UserLunch>(u => Equals(u, inputLunch))))
            .ReturnsAsync(lunch);

            var result = await classUnderTest.Update(userId, id, inputLunch);

            Assert.IsType <NoContentResult>(result);
            _userLunchService.Verify(a => a.UpdateAsync(
                                         It.Is <UserLunch>(u => Equals(u, inputLunch))), Times.Once);
        }