Ejemplo n.º 1
0
        public async Task <IHttpActionResult> PostConversions(SegmentConversionCreateViewModel model)
        {
            if (model == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var advertiser = await _advertiserService.GetAdvertiser(model.AdvertiserUuid.GetValueOrDefault(Guid.Empty)).ConfigureAwait(false);

            if (advertiser == null)
            {
                return(BadRequest("The specified advertiser was not found."));
            }

            var segment = _mapping.Map <Segment>(model);
            await _segmentService.CreateSegment(segment).ConfigureAwait(false);

            segment = await _segmentService.GetSegment(segment.SegmentId).ConfigureAwait(false);

            var segmentViewModel = _mapping.Map <SegmentViewModel>(segment);

            return(CreatedAtRoute("Segments.GetById", new { Id = segmentViewModel.SegmentId }, segmentViewModel));
        }
Ejemplo n.º 2
0
        public async Task PostConversions_ShouldReturnOk()
        {
            // Arrange
            var model = new SegmentConversionCreateViewModel
            {
                AdvertiserUuid          = Guid.NewGuid(),
                Name                    = "WJsHome",
                Url                     = "www.google.com",
                AttributionModel        = ConversionAttributionModelEnum.LastClick.ToString(),
                PostClickLifetime       = 1,
                PostClickLifetimePeriod = PeriodTypeEnum.PerDay.ToString(),
                AttributionCountingMode = ConversionAttributionCountingModeEnum.OncePerLifetime.ToString()
            };

            Mock.Mock <IAdvertiserService>().Setup(x => x.GetAdvertiser(It.IsAny <Guid>()))
            .Returns(Task.FromResult(new Advertiser()));
            Mock.Mock <ISegmentService>().Setup(x => x.GetSegment(It.IsAny <int>()))
            .Returns(Task.FromResult(new Segment()));

            // Act
            var retVal = await Controller.PostConversions(model);

            // Assert
            Assert.That(retVal, Is.Not.Null);
            Assert.That(retVal, Is.TypeOf <CreatedAtRouteNegotiatedContentResult <SegmentViewModel> >());
            Mock.Mock <ISegmentService>().Verify(x => x.CreateSegment(It.IsAny <Segment>()), Times.Once);
        }