public async Task <Create.Response> Create(Create.Request request, CancellationToken cancellationToken) { var userId = await _identityService.GetCurrentUserId(cancellationToken); if (string.IsNullOrEmpty(userId)) { throw new NoUserForAdCreationException($"Попытка создания объявления [{request.Title}] без пользователя."); } var ad = new Domain.Advertisement { Title = request.Title, Description = request.Description, Price = request.Price, Cover = request.Cover, OwnerId = userId, Status = Domain.Advertisement.Statuses.Created, Location = request.Location, GeoLat = request.GeoLat, GeoLon = request.GeoLon, CreatedDate = DateTime.UtcNow, CategoryId = request.CategoryId }; await _repository.Save(ad, cancellationToken); return(new Create.Response { Id = ad.Id }); }
public async Task GetById_Response_Success() { var getRequest = new Get.Request { Id = 1 }; var adResponse = new Domain.Advertisement { Title = "Test", Description = "TestDesc", Status = Domain.Advertisement.Statuses.Created, Price = 123, Cover = "AdCover", OwnerUser = new Domain.User { Id = "zz", Name = "zz", LastName = "zz" } }; advertisementServiceGetConfigure(adResponse); // Act var response = await advertisementService.Get(getRequest, new CancellationToken()); // Assert Assert.NotNull(response); }
public async Task GetById_Response_Failure_No_Ad_Found() { var getRequest = new Get.Request { Id = 1 }; Domain.Advertisement adResponse = null; advertisementServiceGetConfigure(adResponse); // Act await Assert.ThrowsAsync <AdNotFoundException>(async() => await advertisementService.Get(getRequest, new CancellationToken())); }
public async Task CreateByExcelConsumer(ImportExcelMessage message, CancellationToken cancellationToken) { var advertisement = new Domain.Advertisement { Title = message.Title, Description = message.Description, Price = message.Price, OwnerId = message.OwnerId, CategoryId = message.CategoryId, CreatedDate = DateTime.UtcNow, Location = message.Location, GeoLat = message.GetLat, GeoLon = message.GeoLon, Status = Domain.Advertisement.Statuses.Created }; await _repository.Save(advertisement, cancellationToken); }
private void advertisementServiceGetConfigure(Domain.Advertisement adResponse) { _advertisementRepositoryMock .Setup(_ => _.FindById(It.IsAny <int>(), It.IsAny <CancellationToken>())) .ReturnsAsync(adResponse); }