public async Task Invalidate_request_when_item_does_not_exist() { // Arrange var sut = new DeleteBackpackItemValidator(_dbContext); var contributorSub = Guid.NewGuid().ToString(); var backpackId = Guid.NewGuid(); var contributor = new User { FirstName = "Contributor", LastName = "User", Sub = contributorSub }; var backpack = new Domain.Entities.Backpack { Id = backpackId, Name = "A backpack" }; await _dbContext.Users.AddAsync(contributor); await _dbContext.Backpacks.AddAsync(backpack); await _dbContext.BackpacksToUsers.AddAsync(new BackpackToUser { Backpack = backpack, User = contributor }); await _dbContext.SaveChangesAsync(); // Act bool isValid = await sut.IsValidAsync(new DeleteBackpackItem(contributorSub, Guid.NewGuid())); // Assert isValid.ShouldBeFalse(); }
public async Task Invalidate_when_user_not_contributor_of_related_backpack() { // Arrange var sut = new DeleteBackpackItemValidator(_dbContext); var userSub = Guid.NewGuid().ToString(); var contributorSub = Guid.NewGuid().ToString(); var backpackItemId = Guid.NewGuid(); var backpackId = Guid.NewGuid(); var nonContributor = new User { FirstName = "NonContributor", LastName = "User", Sub = userSub }; var contributor = new User { FirstName = "Contributor", LastName = "User", Sub = contributorSub }; var backpack = new Domain.Entities.Backpack { Id = backpackId, Name = "A backpack" }; await _dbContext.BackpackItems.AddAsync(new BackpackItem { Id = backpackItemId, Name = "test-backpack-item", Backpack = backpack }); await _dbContext.Users.AddAsync(nonContributor); await _dbContext.Users.AddAsync(contributor); await _dbContext.Backpacks.AddAsync(backpack); await _dbContext.BackpacksToUsers.AddAsync(new BackpackToUser { Backpack = backpack, User = contributor }); await _dbContext.SaveChangesAsync(); // Act bool isValid = await sut.IsValidAsync(new DeleteBackpackItem(nonContributor.Sub, backpackItemId)); // Assert isValid.ShouldBeFalse(); }
public async Task Invalidate_request_when_no_user_found_by_sub(string sub) { // Arrange var sut = new DeleteBackpackItemValidator(_dbContext); // Act bool isValid = await sut.IsValidAsync(new DeleteBackpackItem(sub, Guid.NewGuid())); // Assert isValid.ShouldBeFalse(); }