server = $wp_rest_server = new \WP_REST_Server; do_action( 'rest_api_init' ); } /** * @covers Wiass_REST_User_API::validate_token */ function test_validate_token_as_guest() { wp_set_current_user(0); $request = new WP_REST_Request( 'POST', '/wiaas/user/validate-token'); $response = $this->server->dispatch( $request ); $this->assertNotNull($response); $this->assertInstanceOf('WP_REST_Response',$response); $this->assertTrue($response->is_error()); $this->assertEquals($response->get_status(), 401); $error_data = $response->as_error(); $this->assertEquals($error_data->get_error_message(), 'Sorry, you are not allowed to do that.'); } /** * @covers Wiass_REST_User_API::validate_token */ function test_validate_token_with_valid_user() { wp_set_current_user(1); $request = new WP_REST_Request( 'POST', '/wiaas/user/validate-token'); $response = $this->server->dispatch( $request ); $this->assertNotNull($response); $this->assertInstanceOf('WP_REST_Response',$response); $this->assertFalse($response->is_error()); $this->assertEquals($response->get_status(), 200); $user_info = $response->get_data()['userInfo']; $this->assertNotNull($user_info); $this->assertTrue(is_array($user_info)); $this->assertArrayHasKey('wiaas_id_user', $user_info); $this->assertArrayHasKey('wiaas_is_company_admin', $user_info); $this->assertArrayHasKey('wiaas_user_full_name', $user_info); $this->assertArrayHasKey('wiaas_user_type', $user_info); $this->assertArrayHasKey('wiaas_username', $user_info); $this->assertEquals($user_info['wiaas_id_user'], '1'); $this->assertEquals($user_info['wiaas_is_company_admin'], '1'); $this->assertEquals($user_info['wiaas_username'], 'admin'); } /** * @covers Wiass_REST_User_API::get_countries */ function test_get_countries_as_guest() { wp_set_current_user(0); $request = new WP_REST_Request( 'GET', '/wiaas/user/get-countries'); $response = $this->server->dispatch( $request ); $this->assertNotNull($response); $this->assertInstanceOf('WP_REST_Response',$response); $this->assertTrue($response->is_error()); $this->assertEquals($response->get_status(), 401); $error_data = $response->as_error(); $this->assertEquals($error_data->get_error_message(), 'Sorry, you are not allowed to do that.'); } /** * @covers Wiass_REST_User_API::get_countries */ function test_get_countries() { wp_set_current_user(1); $request = new WP_REST_Request( 'GET', '/wiaas/user/get-countries'); $response = $this->server->dispatch( $request ); $this->assertNotNull($response); $this->assertInstanceOf('WP_REST_Response',$response); $this->assertFalse($response->is_error()); $this->assertEquals($response->get_status(), 200); $data = $response->get_data(); $this->assertNotNull($data); $this->assertTrue(is_array($data)); $country = $data[0]; $this->assertNotNull($country); $this->assertTrue(is_array($country)); $this->assertArrayHasKey('code', $country); $this->assertArrayHasKey('name', $country); } }