public function updatePost(ApiTester $I) { $id = $I->haveRecord('posts', $this->getPostAttributes(['title' => 'Game of Thrones'])); $I->sendPUT($this->endpoint . "/{$id}", ['title' => 'Lord of Thrones']); $I->seeResponseCodeIs(200); $I->seeResponseIsJson(); $I->seeResponseContainsJson(['title' => 'Lord of Thrones']); $I->seeRecord('posts', ['title' => 'Lord of Thrones']); $I->dontSeeRecord('posts', ['title' => 'Game of Thrones']); }
public function createPost(ApiTester $I) { $I->sendPOST($this->endpoint, ['title' => 'Game of Rings', 'body' => 'By George Tolkien']); $I->seeResponseCodeIs(200); $I->seeResponseIsJson(); $I->seeResponseContainsJson(['title' => 'Game of Rings']); $id = $I->grabDataFromJsonResponse('id'); $I->seeRecord('posts', ['id' => $id, 'title' => 'Game of Rings']); $I->sendGET($this->endpoint . "/{$id}"); $I->seeResponseCodeIs(200); $I->seeResponseIsJson(); $I->seeResponseContainsJson(['title' => 'Game of Rings']); }
public function updateDiscussion(ApiTester $I) { $I->wantTo('update a discussion via API'); $user = $I->amAuthenticated(); $discussion = Factory::create('Flarum\\Core\\Models\\Discussion', ['start_user_id' => $user->id]); $I->sendPUT($this->endpoint . '/' . $discussion->id, ['discussions' => ['title' => 'foo']]); $I->seeResponseCodeIs(200); $I->seeResponseIsJson(); $I->expect('the discussion title was updated'); $I->seeResponseContainsJson(['title' => 'foo']); $I->expect('the discussion was updated in the database'); $id = $I->grabDataFromJsonResponse('discussions.id'); $I->seeRecord('discussions', ['id' => $id, 'title' => 'foo']); }
<?php $I = new ApiTester($scenario); $I->wantTo('create a new device'); $user = $I->haveAnAccount(); $I->amHttpAuthenticated($user['email'], $user['password']); $I->sendPOST('devices', ['mac' => '00:19:20:A1:B4:FC', 'name' => 'Manuel']); $I->seeResponseCodeIs(422); $I->seeResponseIsJson(); $I->sendPOST('devices', ['ip' => '192.168.1.123', 'mac' => '00:19:20:A1:B4:FC', 'name' => 'Manuel']); $I->seeResponseCodeIs(201); $I->seeHttpHeader('Location', 'http://localhost/api/v1/devices/1'); $I->seeResponseIsJson(); $I->seeResponseContainsJson(['data' => ['ip' => '192.168.1.123', 'name' => 'Manuel', 'on_home_page' => 'auto', 'group' => null]]); $I->seeResponseJsonMatchesXpath('//data//device_added'); $I->seeResponseJsonMatchesXpath('//data//last_contact'); $I->seeRecord('devices', ['ip' => '192.168.1.123', 'mac' => '00:19:20:A1:B4:FC', 'name' => 'Manuel', 'public' => 'auto', 'group' => null]);
<?php $I = new ApiTester($scenario); $I->wantTo('poke with optional configuration parameters'); $I->sendPOST('devices/poke', ['ip' => '192.168.1.123', 'mac' => '00:19:20:A1:B4:FC', 'name' => 'Manuel', 'public' => 'false', 'group' => 'strebl']); $I->seeResponseCodeIs(200); $I->seeHttpHeader('Location', 'http://localhost/api/v1/devices/1'); $I->seeResponseIsJson(); $I->seeResponseContainsJson(['data' => ['ip' => '192.168.1.123', 'name' => 'Manuel', 'on_home_page' => 'false', 'group' => 'strebl']]); $I->seeResponseJsonMatchesXpath('//data//device_added'); $I->seeResponseJsonMatchesXpath('//data//last_contact'); $I->seeRecord('devices', ['ip' => '192.168.1.123', 'mac' => '00:19:20:A1:B4:FC', 'name' => 'Manuel', 'public' => 'false', 'group' => 'strebl']); $I->seeRecord('pokes', ['ip' => '192.168.1.123', 'mac' => '00:19:20:A1:B4:FC']);