private EditorTimeoutWaiter LoadProductVariantsFromShop() { var waiter = new EditorTimeoutWaiter(8f); _shopController.Client.products((products, error, after) => { _variants = new List <ProductVariant>(); _product = products[0]; foreach (var product in products) { _variants.AddRange(product.variants().edges().Select((x) => x.node())); } waiter.Complete(); }); return(waiter); }
public IEnumerator TestShowPropogatesErrorsToShopOnError() { _controller.ProductGID = "notevenclose"; _controller.Load(); var waiter = new EditorTimeoutWaiter(); _shop.When((x) => { x.OnError(Arg.Any <ShopifyError>()); }).Do((x) => { var error = x.Args()[0] as ShopifyError; Assert.AreEqual(ShopifyError.ErrorType.GraphQL, error.Type); waiter.Complete(); }); while (!waiter.Await()) { yield return(null); } _shop.DidNotReceive().OnProductLoaded(Arg.Any <Product>(), Arg.Any <ProductVariant[]>()); }
public IEnumerator TestLoadLoadsProductAndTellsShop() { _controller.ProductGID = "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzk4OTUyODE0NzU="; _controller.Load(); var waiter = new EditorTimeoutWaiter(); _shop.When((x) => { x.OnProductLoaded(Arg.Any <Product>(), Arg.Any <ProductVariant[]>()); }).Do((x) => { var product = x.Args()[0] as Product; var productVariants = x.Args()[1] as ProductVariant[]; Assert.AreEqual("Arena Zip Boot", product.title()); Assert.AreEqual(10, productVariants.Length); waiter.Complete(); }); while (waiter.Await()) { yield return(null); } }