/** * Should load the product for the given SKU. */ public function testLoadBySKU() { $sku = $this->generator()->anyString(); $product = $this->makeMock(Product::class); $this->productResource->shouldReceive('where->with->first')->atLeast()->once()->andReturn($product); $loaded = $this->productRepository->loadBySku($sku); $this->assertSame($product, $loaded); }
/** * @param Request $request * @param string $sku * * @throws NotFoundException * * @return RedirectResponse */ public function putProductTags(Request $request, string $sku) { $product = $this->productRepository->loadBySku($sku); $tagIds = (array) $request->get('tag-ids'); $this->tagRepository->syncProductTagIds($product, $tagIds); $this->webUi->successMessage("Tags updated for `{$product->sku}`"); return $this->webUi->redirect('products.show', [$product->sku]); }
/** * @param string $sku * * @return Product */ public function loadProductBySku(string $sku) : Product { return $this->productRepository->loadBySku($sku); }