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