| | 1258 | /** |
| | 1259 | * @ticket 42069 |
| | 1260 | * @dataProvider data_update_value_return_success_with_same_value |
| | 1261 | */ |
| | 1262 | public function test_update_value_return_success_with_same_value( $meta_key, $meta_value ) { |
| | 1263 | register_meta( |
| | 1264 | 'post', |
| | 1265 | $meta_key, |
| | 1266 | array( |
| | 1267 | 'show_in_rest' => true, |
| | 1268 | 'single' => true, |
| | 1269 | 'type' => 'string', |
| | 1270 | ) |
| | 1271 | ); |
| | 1272 | |
| | 1273 | add_post_meta( self::$post_id, $meta_key, $meta_value ); |
| | 1274 | |
| | 1275 | $this->grant_write_permission(); |
| | 1276 | |
| | 1277 | $data = array( |
| | 1278 | 'meta' => array( |
| | 1279 | $meta_key => $meta_value, |
| | 1280 | ), |
| | 1281 | ); |
| | 1282 | |
| | 1283 | $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); |
| | 1284 | $request->set_body_params( $data ); |
| | 1285 | |
| | 1286 | $response = rest_get_server()->dispatch( $request ); |
| | 1287 | |
| | 1288 | $this->assertEquals( 200, $response->get_status() ); |
| | 1289 | } |
| | 1290 | |
| | 1291 | public function data_update_value_return_success_with_same_value() { |
| | 1292 | return array( |
| | 1293 | array( 'test_boolean_update', 0 ), |
| | 1294 | array( 'test_boolean_update', 1 ), |
| | 1295 | array( 'test_boolean_update', false ), |
| | 1296 | array( 'test_boolean_update', true ), |
| | 1297 | array( 'test_boolean_update', '' ), |
| | 1298 | array( 'test_boolean_update', '0' ), |
| | 1299 | array( 'test_boolean_update', '1' ), |
| | 1300 | array( 'test_textured_text_update', 'She said, "What about the > 10,000 penguins in the kitchen?"' ), |
| | 1301 | array( 'test_textured_text_update', "He's about to do something rash..." ), |
| | 1302 | array( 'test_json_encoded', json_encode( array( 'foo' => 'bar' ) ) ), |
| | 1303 | ); |
| | 1304 | } |
| | 1305 | |
| | 1306 | /** |
| | 1307 | * @ticket 42069 |
| | 1308 | * @dataProvider data_update_value_return_success_with_similar_value |
| | 1309 | */ |
| | 1310 | public function test_update_value_return_success_with_similar_value( $meta_key, $meta_value, $update_meta_value ) { |
| | 1311 | add_post_meta( self::$post_id, $meta_key, $meta_value ); |
| | 1312 | |
| | 1313 | $this->grant_write_permission(); |
| | 1314 | |
| | 1315 | $data = array( |
| | 1316 | 'meta' => array( |
| | 1317 | $meta_key => $update_meta_value, |
| | 1318 | ), |
| | 1319 | ); |
| | 1320 | |
| | 1321 | $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); |
| | 1322 | $request->set_body_params( $data ); |
| | 1323 | |
| | 1324 | $response = rest_get_server()->dispatch( $request ); |
| | 1325 | |
| | 1326 | $this->assertEquals( 200, $response->get_status() ); |
| | 1327 | } |
| | 1328 | |
| | 1329 | public function data_update_value_return_success_with_similar_value() { |
| | 1330 | return array( |
| | 1331 | array( 'test_boolean_update', 0, '' ), |
| | 1332 | array( 'test_boolean_update', 1, '1' ), |
| | 1333 | array( 'test_boolean_update', false, 0 ), |
| | 1334 | array( 'test_boolean_update', true, 1 ), |
| | 1335 | array( 'test_boolean_update', '', false ), |
| | 1336 | array( 'test_boolean_update', '1', true ), |
| | 1337 | ); |
| | 1338 | } |
| | 1339 | |