public Task CreateBrand(AdvertiserProduct brand) { brand.AdvertiserProductUuid = IdentityValue.GenerateNewId(); brand.UtcCreatedDateTime = _clock.UtcNow; _advertiserProductRepositoryAsync.Insert(brand); return(_brandscreenContext.SaveChangesAsync()); }
public async Task Get_ShouldReturnListOfBrands() { // Arrange var userId = Guid.NewGuid(); var model = new BrandQueryViewModel { UserId = userId }; var buyerAccount = new BuyerAccount { BuyerAccountId = 1 }; var advertiser = new Advertiser { BuyerAccountId = buyerAccount.BuyerAccountId, BuyerAccount = buyerAccount, AdvertiserId = 1 }; var advertiserProduct1 = new AdvertiserProduct { AdvertiserId = advertiser.AdvertiserId, ProductName = "product a" }; var advertiserProduct2 = new AdvertiserProduct { AdvertiserId = advertiser.AdvertiserId, ProductName = "product b" }; var advertiserProducts = new List <AdvertiserProduct> { advertiserProduct1, advertiserProduct2 }; Mock.Mock <IBrandService>().Setup(x => x.GetBrands(It.IsAny <BrandQueryOptions>())) .Returns(advertiserProducts.ToAsyncEnumerable()); // Act var retVal = await Controller.Get(model); // Assert Assert.That(retVal, Is.Not.Null); Assert.That(retVal.TotalItemCount, Is.EqualTo(2)); }
public async Task Get_ShouldReturnBrandDetails() { // Arrange var brandUuid = Guid.NewGuid(); var buyerAccount = new BuyerAccount { BuyerAccountId = 1 }; var advertiser = new Advertiser { BuyerAccountId = buyerAccount.BuyerAccountId, BuyerAccount = buyerAccount, AdvertiserId = 1 }; var advertiserProduct = new AdvertiserProduct { AdvertiserId = advertiser.AdvertiserId, ProductName = "product name" }; Mock.Mock <IBrandService>().Setup(x => x.GetBrand(brandUuid)) .Returns(Task.FromResult(advertiserProduct)); // Act var retVal = await Controller.Get(brandUuid); // Assert Assert.That(retVal, Is.Not.Null); Assert.That(retVal, Is.TypeOf <OkNegotiatedContentResult <BrandViewModel> >()); var content = ((OkNegotiatedContentResult <BrandViewModel>)retVal).Content; Assert.That(content, Is.Not.Null); Assert.That(content.BrandName, Is.EqualTo(advertiserProduct.ProductName)); }
protected override void Configure() { CreateMap <BrandCreateViewModel, AdvertiserProduct>() .ConstructUsing(ctx => { var source = (BrandCreateViewModel)ctx.SourceValue; if (!source.AdvertiserUuid.HasValue) { throw new InvalidOperationException("AdvertiserUuid is required."); // shouldn't happen } var advertiserService = ctx.Resolve <IAdvertiserService>(); var advertiser = advertiserService.GetAdvertiser(source.AdvertiserUuid.Value).WaitAndUnwrapException(); var retVal = new AdvertiserProduct { BuyerAccountId = advertiser.BuyerAccountId, AdvertiserId = advertiser.AdvertiserId }; return(retVal); }) .ForMember(dst => dst.BuyerAccountId, opt => opt.Ignore()) // as mapped in ConstructUsing .ForMember(dst => dst.AdvertiserId, opt => opt.Ignore()) // as mapped in ConstructUsing .ForMember(dst => dst.ProductName, opt => opt.MapFrom(src => src.BrandName)) .ForMember(dst => dst.AdvertiserProductHomepageUrl, opt => opt.MapFrom(src => src.BrandHomepageUrl)) .ForMember(dst => dst.SiteListOption, opt => opt.MapFrom(src => Enum.Parse(typeof(SiteListOptionEnum), src.SiteListOption, true))) .ForMember(dst => dst.BrandSafetyModeId, opt => opt.MapFrom(src => Enum.Parse(typeof(BrandSafetyModeEnum), src.BrandSafetyMode, true))) .ForMember(dst => dst.BrandSafetyMode, opt => opt.Ignore()); }
public Task UpdateBrand(AdvertiserProduct brand) { brand.UtcModifiedDateTime = _clock.UtcNow; _advertiserProductRepositoryAsync.Update(brand); return(_brandscreenContext.SaveChangesAsync()); }