/** * Test that we can query by product ID * * @since 1.1.0 * * @group price_query * @group price * * @covers \ingot\testing\crud\price_query::find_by_product() */ public function testFindByProduct() { $args = ['type' => 'price', 'sub_type' => 'edd', 'wp_ID' => 5]; $variant_args = ['type' => 'price', 'meta' => ['price' => []]]; $args['meta']['product_ID'] = 99; $group_id = \ingot\testing\crud\group::create($args, true); for ($i = 0; $i <= 4; $i++) { if (0 == $i || 1 == $i) { $args['meta']['product_ID'] = 5; $variant_args['content'] = 5; } else { $args['meta']['product_ID'] = 9; $variant_args['content'] = 9; } $args['wp_ID'] = $args['wp_ID'] + 1; $group_id = \ingot\testing\crud\group::create($args, true); $this->assertTrue(is_numeric($group_id)); if (0 == $i || 1 == $i) { $expected_ids[] = $group_id; } $variant_args['group_ID'] = $group_id; $variant_id = \ingot\testing\crud\variant::create($variant_args, true); $this->assertTrue(is_numeric($variant_id)); $variants[$group_id] = $variant_id; } $groups = \ingot\testing\crud\price_query::find_by_product(5); $this->assertInternalType('array', $groups); $this->assertFalse(empty($groups)); $this->assertSame(2, count($groups)); $expected_ids = wp_list_pluck($groups, 'ID'); $ids = wp_list_pluck($groups, 'ID'); $this->assertSame($expected_ids, $ids); }
/** * Set tests property by product ID * * @since 1.1.0 * * @access private * * @param int $id Product ID */ private function set_tests_by_product_id($id) { $this->tests = price_query::find_by_product($id); }