public async Task CheckDeleteNotExistItemReturnException(string userId) { _mockItemRepo.Setup(r => r.ReadAsync(It.IsAny <int>())).ReturnsAsync(null as Item); var ItemBl = new ItemBl(_mockItemRepo.Object, _mockMapper, _mockCommentRepo.Object, _mockProjectUserRepo.Object, _mockProjectRepo.Object, _mockSprintRepository.Object); await Assert.ThrowsAsync <NotFoundResponseException>(() => ItemBl.DeleteAsync(It.IsAny <int>(), userId)); _mockItemRepo.Verify(r => r.DeleteAsync(It.IsAny <int>()), Times.Never); }
public async Task CheckDevCantDeleteItem(string userId) { _mockItemRepo.Setup(r => r.ReadAsync(It.IsAny <int>())).ReturnsAsync(GetTestItems()[0]); _mockProjectUserRepo.Setup(r => r.GetRoleOfMember("dev", It.IsAny <int>())).ReturnsAsync(AppUserRole.Developer); _mockSprintRepository.Setup(r => r.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(GetTestSprints()[0]); _mockProjectRepo.Setup(r => r.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(GetTestProjects()[0]); var ItemBl = new ItemBl(_mockItemRepo.Object, _mockMapper, _mockCommentRepo.Object, _mockProjectUserRepo.Object, _mockProjectRepo.Object, _mockSprintRepository.Object); await Assert.ThrowsAsync <ForbiddenResponseException>(() => ItemBl.DeleteAsync(It.IsAny <int>(), userId)); _mockItemRepo.Verify(r => r.DeleteAsync(It.IsAny <int>()), Times.Never); }
public async Task CheckOwnerOrMasterCanDeleteItem(string userId) { _mockItemRepo.Setup(r => r.ReadAsync(It.IsAny <int>())).ReturnsAsync(GetTestItems()[0]); _mockProjectUserRepo.Setup(r => r.GetRoleOfMember("master", It.IsAny <int>())).ReturnsAsync(AppUserRole.ScrumMaster); _mockProjectUserRepo.Setup(r => r.GetRoleOfMember("owner", It.IsAny <int>())).ReturnsAsync(AppUserRole.Owner); _mockSprintRepository.Setup(r => r.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(GetTestSprints()[0]); _mockProjectRepo.Setup(r => r.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(GetTestProjects()[0]); var ItemBl = new ItemBl(_mockItemRepo.Object, _mockMapper, _mockCommentRepo.Object, _mockProjectUserRepo.Object, _mockProjectRepo.Object, _mockSprintRepository.Object); var response = await ItemBl.DeleteAsync(It.IsAny <int>(), userId); Assert.True(response.Success); Assert.IsType <ItemResponse>(response); _mockItemRepo.Verify(r => r.DeleteAsync(It.IsAny <int>()), Times.Once); }