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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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();
        }
Example #7
0
        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);
        }
Example #8
0
        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();
        }