Code Duplication    Length = 23-23 lines in 2 locations

projects/packages/connection/tests/php/test-rest-endpoints.php 2 locations

@@ 340-362 (lines=23) @@
337
	/**
338
	 * Testing the `connection/register` endpoint.
339
	 */
340
	public function test_connection_register() {
341
		add_filter( 'pre_http_request', array( static::class, 'intercept_register_request' ), 10, 3 );
342
343
		$this->request = new WP_REST_Request( 'POST', '/jetpack/v4/connection/register' );
344
		$this->request->set_header( 'Content-Type', 'application/json' );
345
346
		$this->request->set_body( wp_json_encode( array( 'registration_nonce' => wp_create_nonce( 'jetpack-registration-nonce' ) ) ) );
347
348
		$response = $this->server->dispatch( $this->request );
349
		$data     = $response->get_data();
350
351
		remove_filter( 'pre_http_request', array( static::class, 'intercept_register_request' ), 10 );
352
353
		// Manually clears filter added by Manager::register().
354
		remove_filter( 'jetpack_use_iframe_authorization_flow', '__return_false', 20 );
355
356
		$this->assertEquals( 200, $response->get_status() );
357
		$this->assertSame( 0, strpos( $data['authorizeUrl'], 'https://jetpack.wordpress.com/jetpack.authorize/' ) );
358
359
		// Asserts jetpack_register_site_rest_response filter is being properly hooked to add data from wpcom register endpoint response.
360
		$this->assertFalse( $data['allowInplaceAuthorization'] );
361
		$this->assertSame( '', $data['alternateAuthorizeUrl'] );
362
	}
363
364
	/**
365
	 * Testing the `connection/register` endpoint with allow_inplace_authorization as true.
@@ 391-413 (lines=23) @@
388
	/**
389
	 * Testing the `connection/register` endpoint with alternate_authorization_url
390
	 */
391
	public function test_connection_register_with_alternate_auth_url() {
392
		add_filter( 'pre_http_request', array( static::class, 'intercept_register_request_with_alternate_auth_url' ), 10, 3 );
393
394
		$this->request = new WP_REST_Request( 'POST', '/jetpack/v4/connection/register' );
395
		$this->request->set_header( 'Content-Type', 'application/json' );
396
397
		$this->request->set_body( wp_json_encode( array( 'registration_nonce' => wp_create_nonce( 'jetpack-registration-nonce' ) ) ) );
398
399
		$response = $this->server->dispatch( $this->request );
400
		$data     = $response->get_data();
401
402
		remove_filter( 'pre_http_request', array( static::class, 'intercept_register_request_with_alternate_auth_url' ), 10 );
403
404
		// Manually clears filter added by Manager::register().
405
		remove_filter( 'jetpack_use_iframe_authorization_flow', '__return_false', 20 );
406
407
		$this->assertEquals( 200, $response->get_status() );
408
		$this->assertSame( 0, strpos( $data['authorizeUrl'], 'https://jetpack.wordpress.com/jetpack.authorize/' ) );
409
410
		// Asserts jetpack_register_site_rest_response filter is being properly hooked to add data from wpcom register endpoint response.
411
		$this->assertFalse( $data['allowInplaceAuthorization'] );
412
		$this->assertSame( Redirect::get_url( 'https://dummy.com' ), $data['alternateAuthorizeUrl'] );
413
	}
414
415
	/**
416
	 * This filter callback allow us to skip the database query by `Jetpack_Options` to retrieve the option.