/** * Test inflating/defalting object * * @since 1.1.0 * * @group price_object * @group price * @group edd_price */ function testInflationDefaltion() { $data = ingot_test_data_price::edd_tests(10); $bandit = new \ingot\testing\bandit\price($data['group_ID']); $variant_id = $bandit->choose(); $args = ['ID' => $variant_id, 'expires' => 167234]; $obj = new \ingot\testing\object\price\test($args); $as_json = wp_json_encode($obj); $this->assertEquals(wp_json_encode($args), $as_json); $inflated = \ingot\testing\utility\price::inflate_price_test($as_json); $this->assertSame($obj->ID, $inflated->ID); $this->assertSame($obj->variant, $inflated->variant); }
/** * Test contents of price cookie * * @since 1.1.0 * * @group cookie * @group price_cookie * @group price * * @covers \ingot\testing\cookies\price() */ public function testCookieSetup() { $group_1 = ingot_test_data_price::edd_tests(10); $group_2 = ingot_test_data_price::edd_tests(15); $cookie_class = new \ingot\testing\cookies\price([]); $price_cookie = $cookie_class->get_cookie(); $this->assertArrayHasKey('edd', $price_cookie); $this->assertFalse(empty($price_cookie['edd'])); $this->assertInternalType('array', $price_cookie['edd']); $product_1 = \ingot\testing\utility\price::get_product_ID($group_1['group_ID']); $product_2 = \ingot\testing\utility\price::get_product_ID($group_2['group_ID']); $this->assertArrayHasKey($product_1, $price_cookie['edd']); $this->assertArrayHasKey($product_2, $price_cookie['edd']); $this->assertSame(2, count($price_cookie['edd'])); foreach ($price_cookie['edd'] as $content) { $content = \ingot\testing\utility\price::inflate_price_test($content); $this->assertInternalType('object', $content); foreach (['plugin', 'ID', 'variant', 'expires', 'price', 'product'] as $key) { $this->assertObjectHasAttribute($key, $content); } $this->assertInternalType('object', $content->product); } }
/** * @param $products */ private function set_products($products) { foreach ($products as $id => $test) { if (is_string($test)) { $test = json_decode($test, true); } if (is_array($test)) { $test = \ingot\testing\utility\price::inflate_price_test($test); $this->products[$id] = $test; } } }