예제 #1
0
        public async Task <IActionResult> DeleteFlatForRentAnnouncementAsync([FromRoute] Guid id)
        {
            var deleteFlatForRentAnnouncementCommand = new DeleteFlatForRentAnnouncementCommand(id);
            await _communicationBus.SendCommandAsync(deleteFlatForRentAnnouncementCommand);

            return(NoContent());
        }
예제 #2
0
        public async Task HandleAsync_Should_Delete_FlatForRentAnnouncement()
        {
            var flatForRentAnnouncement = FlatForRentAnnouncement.Builder()
                                          .SetId(Guid.NewGuid())
                                          .SetTitle("Title")
                                          .SetSourceUrl("http://source")
                                          .SetCityId(Guid.NewGuid())
                                          .SetCreated(DateTimeOffset.UtcNow)
                                          .SetDescription("Description")
                                          .SetNumberOfRooms(NumberOfRoomsEnumeration.One)
                                          .SetPrice(1000)
                                          .SetCityDistricts(new List <Guid> {
                Guid.NewGuid()
            })
                                          .Build();
            var getFlatForRentAnnouncementResult = GetResult <FlatForRentAnnouncement> .Ok(flatForRentAnnouncement);

            var deleteFlatForRentAnnouncementCommand = new DeleteFlatForRentAnnouncementCommand(flatForRentAnnouncement.Id);

            _flatForRentAnnouncementGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(getFlatForRentAnnouncementResult);
            _flatForRentAnnouncementRepositoryMock
            .Setup(x => x.DeleteAsync(It.IsAny <FlatForRentAnnouncement>()))
            .Returns(Task.CompletedTask);

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

            await result.Should().NotThrowAsync <Exception>();
        }
예제 #3
0
        public async Task HandleAsync_Should_Throw_ResourceNotFoundException_When_FlatForRentAnnouncement_Is_Not_Found()
        {
            var errors = new Collection <IError>
            {
                new Error(FlatForRentAnnouncementErrorCodeEnumeration.NotFound, FlatForRentAnnouncementErrorMessage.NotFound)
            };
            var getFlatForRentAnnouncementResult = GetResult <FlatForRentAnnouncement> .Fail(errors);

            var deleteFlatForRentAnnouncementCommand = new DeleteFlatForRentAnnouncementCommand(Guid.NewGuid());

            _flatForRentAnnouncementGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(getFlatForRentAnnouncementResult);

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

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

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