public async Task Should_Not_Update_Resource_When_It_Doesnt_Exist() { var command = ResourceCommandFaker.GenerateUpdateApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.OldResourceName))).ReturnsAsync(EntityApiResourceFaker.GenerateResource().Generate()); var result = await _commandHandler.Handle(command, _tokenSource.Token); result.Should().BeFalse(); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.OldResourceName)), Times.Once); }
public async Task ShouldNotUpdateResourceWhenNameIsntProvided() { var command = ResourceCommandFaker.GenerateUpdateApiResourceCommand().Generate(); command.Resource.Name = null; var result = await _commandHandler.Handle(command, _tokenSource.Token); result.Should().BeFalse(); _uow.Verify(v => v.Commit(), Times.Never); }
public async Task ShouldNotSaveResourceWhenItAlreadyExist() { var command = ResourceCommandFaker.GenerateRegisterApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name))).ReturnsAsync(EntityApiResourceFaker.GenerateResource().Generate()); var result = await _commandHandler.Handle(command, _tokenSource.Token); result.Should().BeFalse(); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name)), Times.Once); _uow.Verify(v => v.Commit(), Times.Never); }
public async Task ShouldNotRemoveResourceWhenItDoesntExist() { var command = ResourceCommandFaker.GenerateUpdateApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.OldResourceName))).ReturnsAsync((ApiResource)null); var result = await _commandHandler.Handle(command, _tokenSource.Token); result.Should().BeFalse(); _uow.Verify(v => v.Commit(), Times.Never); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.OldResourceName)), Times.Once); }
public async Task ShouldNotUpdateResourceWhenItDoesntExist() { var command = ResourceCommandFaker.GenerateUpdateApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name))).ReturnsAsync(EntityResourceFaker.GenerateResource().Generate()); var result = await _commandHandler.Handle(command, _tokenSource.Token); Assert.False(result); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name)), Times.Once); }
public async Task ShouldSaveResource() { var command = ResourceCommandFaker.GenerateRegisterApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name))).ReturnsAsync((ApiResource)null); _apiResourceRepository.Setup(s => s.Add(It.Is <ApiResource>(i => i.Name == command.Resource.Name))); _uow.Setup(s => s.Commit()).Returns(true); var result = await _commandHandler.Handle(command, _tokenSource.Token); _apiResourceRepository.Verify(s => s.Add(It.IsAny <ApiResource>()), Times.Once); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name)), Times.Once); result.Should().BeTrue(); }
public async Task ShouldUpdateResource() { var command = ResourceCommandFaker.GenerateUpdateApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name))).ReturnsAsync(EntityResourceFaker.GenerateResource().Generate()); _apiResourceRepository.Setup(s => s.UpdateWithChildrens(It.Is <ApiResource>(i => i.Name == command.Resource.Name))).Returns(Task.CompletedTask); _uow.Setup(s => s.Commit()).Returns(true); var result = await _commandHandler.Handle(command, _tokenSource.Token); _apiResourceRepository.Verify(s => s.UpdateWithChildrens(It.IsAny <ApiResource>()), Times.Once); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name)), Times.Once); Assert.True(result); }
public async Task ShouldRemoveResource() { var command = ResourceCommandFaker.GenerateRemoveApiResourceCommand().Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name))).ReturnsAsync(EntityApiResourceFaker.GenerateResource().Generate()); _apiResourceRepository.Setup(s => s.Remove(It.IsAny <int>())); _uow.Setup(s => s.Commit()).Returns(true); var result = await _commandHandler.Handle(command, _tokenSource.Token); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == command.Resource.Name)), Times.Once); _apiResourceRepository.Verify(s => s.Remove(It.IsAny <int>()), Times.Once); result.Should().BeTrue(); }
public async Task Should_Update_Resource() { var oldResourceName = "old-resource-name"; var command = ResourceCommandFaker.GenerateUpdateApiResourceCommand(oldResourceName: oldResourceName).Generate(); _apiResourceRepository.Setup(s => s.GetResource(It.Is <string>(q => q == oldResourceName))).ReturnsAsync(EntityApiResourceFaker.GenerateResource().Generate()); _apiResourceRepository.Setup(s => s.UpdateWithChildrens(It.Is <string>(s => s == command.OldResourceName), It.Is <ApiResource>(i => i.Name == command.Resource.Name))).Returns(Task.CompletedTask); _uow.Setup(s => s.Commit()).ReturnsAsync(true); var result = await _commandHandler.Handle(command, _tokenSource.Token); _apiResourceRepository.Verify(s => s.UpdateWithChildrens(It.Is <string>(s => s == command.OldResourceName), It.IsAny <ApiResource>()), Times.Once); _apiResourceRepository.Verify(s => s.GetResource(It.Is <string>(q => q == oldResourceName)), Times.Once); result.Should().BeTrue(); }