Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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()));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 private void advertisementServiceGetConfigure(Domain.Advertisement adResponse)
 {
     _advertisementRepositoryMock
     .Setup(_ => _.FindById(It.IsAny <int>(), It.IsAny <CancellationToken>()))
     .ReturnsAsync(adResponse);
 }