public async Task GetByIdAsync_Should_Return_GetResult_Ok() { var roomForRentAnnouncement = RoomForRentAnnouncement.Builder() .SetId(Guid.NewGuid()) .SetTitle("Title") .SetSourceUrl("http://sourceUrl") .SetCityId(Guid.NewGuid()) .SetCreated(DateTimeOffset.UtcNow) .SetDescription("Description") .SetCityDistricts(new List <Guid> { Guid.NewGuid() }) .SetPrice(100) .SetRoomTypes(new List <RoomTypeEnumeration> { RoomTypeEnumeration.Double }) .Build(); var expectedResult = GetResult <RoomForRentAnnouncement> .Ok(roomForRentAnnouncement); _roomForRentAnnouncementRepositoryMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>())) .ReturnsAsync(roomForRentAnnouncement); var result = await _service.GetByIdAsync(roomForRentAnnouncement.Id); result.Should().BeEquivalentTo(expectedResult); }
public async Task HandleAsync(UpdateRoomForRentAnnouncementCommand command, CancellationToken cancellationToken = default) { var getRoomForRentAnnouncementResult = await _roomForRentAnnouncementGetterService.GetByIdAsync(command.RoomForRentAnnouncementId); if (!getRoomForRentAnnouncementResult.Success) { throw new ResourceNotFoundException(getRoomForRentAnnouncementResult.Errors); } var cityVerificationResult = await _cityVerificationService.VerifyCityExistsAsync(command.CityId); if (!cityVerificationResult.Success) { throw new ValidationException(cityVerificationResult.Errors); } var cityDistrictsVerificationResult = await _cityDistrictVerificationService.VerifyCityDistrictsExistAsync(command.CityId, command.CityDistricts); if (!cityDistrictsVerificationResult.Success) { throw new ValidationException(cityDistrictsVerificationResult.Errors); } UpdateDetails(getRoomForRentAnnouncementResult.Value, command); UpdateCityDistricts(getRoomForRentAnnouncementResult.Value, command.CityDistricts.ToList()); UpdateRoomTypes(getRoomForRentAnnouncementResult.Value, command.RoomTypes.ToList()); await _roomForRentAnnouncementRepository.UpdateAsync(getRoomForRentAnnouncementResult.Value); }
public async Task <RoomForRentAnnouncementOutputQuery> HandleAsync(GetRoomForRentAnnouncementInputQuery inputQuery, CancellationToken cancellationToken = default) { var getRoomForRentAnnouncementResult = await _roomForRentAnnouncementGetterService.GetByIdAsync(inputQuery.RoomForRentAnnouncementId); if (!getRoomForRentAnnouncementResult.Success) { throw new ResourceNotFoundException(getRoomForRentAnnouncementResult.Errors); } return(_mapper.Map <RoomForRentAnnouncement, RoomForRentAnnouncementOutputQuery>(getRoomForRentAnnouncementResult.Value)); }
public async Task HandleAsync(DeleteRoomForRentAnnouncementCommand command, CancellationToken cancellationToken = default) { var getRoomForRentAnnouncementResult = await _roomForRentAnnouncementGetterService.GetByIdAsync(command.FlatForRentAnnouncementId); if (!getRoomForRentAnnouncementResult.Success) { throw new ResourceNotFoundException(getRoomForRentAnnouncementResult.Errors); } await _roomForRentAnnouncementRepository.DeleteAsync(getRoomForRentAnnouncementResult.Value); }