Create grouped product.
public static create_grouped_product ( ) : WC_Product_Grouped | ||
Résultat | WC_Product_Grouped |
/** * Test getting product type. * * @since 2.7.0 */ function test_get_product_type() { $simple = WC_Helper_Product::create_simple_product(); $external = WC_Helper_Product::create_external_product(); $grouped = WC_Helper_Product::create_grouped_product(); $variable = WC_Helper_Product::create_variation_product(); $children = $variable->get_children(); $child_id = $children[0]; $this->assertEquals('simple', WC()->product_factory->get_product_type($simple->get_id())); $this->assertEquals('external', WC()->product_factory->get_product_type($external->get_id())); $this->assertEquals('grouped', WC()->product_factory->get_product_type($grouped->get_id())); $this->assertEquals('variable', WC()->product_factory->get_product_type($variable->get_id())); $this->assertEquals('variation', WC()->product_factory->get_product_type($child_id)); $simple->delete(true); $external->delete(true); $grouped->delete(true); $variable->delete(true); }
/** * Test updating an grouped product. * * @since 2.7.0 */ function test_grouped_product_update() { $product = WC_Helper_Product::create_grouped_product(); $simple_product = WC_Helper_Product::create_simple_product(); $this->assertEquals('Dummy Grouped Product', $product->get_name()); $this->assertEquals(2, count($product->get_children())); $children = $product->get_children(); $children[] = $simple_product->get_id(); $product->set_children($children); $product->set_name('Dummy Grouped Product 2'); $product->save(); // Reread from database $product = new WC_Product_Grouped($product->get_id()); $this->assertEquals(3, count($product->get_children())); $this->assertEquals('Dummy Grouped Product 2', $product->get_name()); }
/** * Tests wc_get_products(). * * @since 2.7.0 */ public function test_wc_get_products() { $test_cat_1 = wp_insert_term('Testing 1', 'product_cat'); $test_tag_1 = wp_insert_term('Tag 1', 'product_tag'); $test_tag_2 = wp_insert_term('Tag 2', 'product_tag'); $term_cat_1 = get_term_by('id', $test_cat_1['term_id'], 'product_cat'); $term_tag_1 = get_term_by('id', $test_tag_1['term_id'], 'product_tag'); $term_tag_2 = get_term_by('id', $test_tag_2['term_id'], 'product_tag'); $product = WC_Helper_Product::create_simple_product(); $product->set_tag_ids(array($test_tag_1['term_id'])); $product->set_category_ids(array($test_cat_1['term_id'])); $product->set_sku('GET TEST SKU SIMPLE'); $product->save(); $product_2 = WC_Helper_Product::create_simple_product(); $product_2->set_category_ids(array($test_cat_1['term_id'])); $product_2->save(); $external = WC_Helper_Product::create_simple_product(); $external->set_category_ids(array($test_cat_1['term_id'])); $external->set_sku('GET TEST SKU EXTERNAL'); $external->save(); $external_2 = WC_Helper_Product::create_simple_product(); $external_2->set_tag_ids(array($test_tag_2['term_id'])); $external_2->save(); $grouped = WC_Helper_Product::create_grouped_product(); $variation = WC_Helper_Product::create_variation_product(); $variation->set_tag_ids(array($test_tag_1['term_id'])); $variation->save(); $draft = WC_Helper_Product::create_simple_product(); $draft->set_status('draft'); $draft->save(); $this->assertEquals(9, count(wc_get_products(array('return' => 'ids')))); // test status $products = wc_get_products(array('return' => 'ids', 'status' => 'draft')); $this->assertEquals(array($draft->get_id()), $products); // test type $products = wc_get_products(array('return' => 'ids', 'type' => 'variation')); $this->assertEquals(2, count($products)); // test parent $products = wc_get_products(array('return' => 'ids', 'type' => 'variation', 'parent' => $variation->get_id())); $this->assertEquals(2, count($products)); // test skus $products = wc_get_products(array('return' => 'ids', 'sku' => 'GET TEST SKU')); $this->assertEquals(2, count($products)); $this->assertContains($product->get_id(), $products); $this->assertContains($external->get_id(), $products); // test categories $products = wc_get_products(array('return' => 'ids', 'category' => array($term_cat_1->slug))); $this->assertEquals(3, count($products)); // test tags $products = wc_get_products(array('return' => 'ids', 'tag' => array($term_tag_1->slug))); $this->assertEquals(2, count($products)); $products = wc_get_products(array('return' => 'ids', 'tag' => array($term_tag_2->slug))); $this->assertEquals(1, count($products)); $products = wc_get_products(array('return' => 'ids', 'tag' => array($term_tag_1->slug, $term_tag_2->slug))); $this->assertEquals(3, count($products)); // test limit $products = wc_get_products(array('return' => 'ids', 'limit' => 5)); $this->assertEquals(5, count($products)); // test offset $products = wc_get_products(array('return' => 'ids', 'limit' => 2)); $products_offset = wc_get_products(array('return' => 'ids', 'limit' => 2, 'offset' => 2)); $this->assertEquals(2, count($products)); $this->assertEquals(2, count($products_offset)); $this->assertNotEquals($products, $products_offset); // test page $products_page_1 = wc_get_products(array('return' => 'ids', 'limit' => 2)); $products_page_2 = wc_get_products(array('return' => 'ids', 'limit' => 2, 'page' => 2)); $this->assertEquals(2, count($products_page_1)); $this->assertEquals(2, count($products_page_2)); $this->assertNotEquals($products_page_1, $products_page_2); // test exclude $products = wc_get_products(array('return' => 'ids', 'limit' => 200, 'exclude' => array($product->get_id()))); $this->assertNotContains($product->get_id(), $products); $variation->delete(true); }