Example #1
0
        public async Task HandleAsync_Should_Throw_PreconditionFailedException_When_RowVersion_Does_Not_Match()
        {
            var cityDistrict = CityDistrict.Builder()
                               .SetId(Guid.NewGuid())
                               .SetRowVersion(new byte[] { 1, 2, 4, 8, 16, 32, 64 })
                               .SetName("Name")
                               .SetPolishName("PolishName")
                               .SetCityId(Guid.NewGuid())
                               .SetNameVariants(new List <string> {
                "NameVariant"
            })
                               .SetParentId(Guid.NewGuid())
                               .Build();
            var getCityDistrictResult = GetResult <CityDistrict> .Ok(cityDistrict);

            var command = new DeleteCityDistrictCommand(cityDistrict.Id, new byte[] { 1, 2, 4, 8, 16, 32, 128 });

            _cityDistrictGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(getCityDistrictResult);
            _cityDistrictRepositoryMock.Setup(x => x.DeleteAsync(It.IsAny <CityDistrict>())).Returns(Task.CompletedTask);

            Func <Task> result = async() => await _commandHandler.HandleAsync(command);

            await result.Should().ThrowExactlyAsync <PreconditionFailedException>();
        }
Example #2
0
        public async Task HandleAsync_Should_Delete_CityDistrict()
        {
            var cityDistrict = CityDistrict.Builder()
                               .SetId(Guid.NewGuid())
                               .SetRowVersion(Array.Empty <byte>())
                               .SetName("Name")
                               .SetPolishName("PolishName")
                               .SetCityId(Guid.NewGuid())
                               .SetNameVariants(new List <string> {
                "NameVariant"
            })
                               .SetParentId(Guid.NewGuid())
                               .Build();
            var getCityDistrictResult = GetResult <CityDistrict> .Ok(cityDistrict);

            var command = new DeleteCityDistrictCommand(cityDistrict.Id, cityDistrict.RowVersion);

            _cityDistrictGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(getCityDistrictResult);
            _cityDistrictRepositoryMock.Setup(x => x.DeleteAsync(It.IsAny <CityDistrict>())).Returns(Task.CompletedTask);

            Func <Task> result = async() => await _commandHandler.HandleAsync(command);

            await result.Should().NotThrowAsync <Exception>();
        }
Example #3
0
        public async Task <IActionResult> DeleteCityDistrictAsync([FromRoute] Guid id, [FromHeader(Name = "If-Match")] byte[] rowVersion)
        {
            var deleteCityDistrictCommand = new DeleteCityDistrictCommand(id, rowVersion);
            await _communicationBus.SendCommandAsync(deleteCityDistrictCommand);

            return(NoContent());
        }
Example #4
0
        public async Task HandleAsync_Should_Throw_ResourceNotFoundException_When__CityDistrict_Is_Not_Found()
        {
            var errors = new Collection <IError>
            {
                new Error(CityDistrictErrorCodeEnumeration.NotFound, CityDistrictErrorMessage.NotFound)
            };
            var getCityDistrictResult = GetResult <CityDistrict> .Fail(errors);

            var command = new DeleteCityDistrictCommand(Guid.NewGuid(), Array.Empty <byte>());

            _cityDistrictGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(getCityDistrictResult);
            _cityDistrictRepositoryMock.Setup(x => x.DeleteAsync(It.IsAny <CityDistrict>())).Returns(Task.CompletedTask);

            Func <Task> result = async() => await _commandHandler.HandleAsync(command);

            var exceptionResult = await result.Should().ThrowExactlyAsync <ResourceNotFoundException>();

            exceptionResult.And.Errors.Should().BeEquivalentTo(errors);
        }