public async Task <IActionResult> DeleteFlatForRentAnnouncementAsync([FromRoute] Guid id) { var deleteFlatForRentAnnouncementCommand = new DeleteFlatForRentAnnouncementCommand(id); await _communicationBus.SendCommandAsync(deleteFlatForRentAnnouncementCommand); return(NoContent()); }
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>(); }
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); }