route = new MojangApiRoute($I); } public function getUsernameByUuid(FunctionalTester $I) { $I->wantTo('get usernames history by uuid for user, without history'); $this->route->usernamesByUuid('df936908b2e1544d96f82977ec213022'); $I->canSeeResponseCodeIs(200); $I->canSeeResponseIsJson(); $I->canSeeResponseContainsJson([ [ 'name' => 'Admin', ], ]); } public function getUsernameByUuidWithHistory(FunctionalTester $I) { $I->wantTo('get usernames history by dashed uuid and expect history with time marks'); $this->route->usernamesByUuid('d6b3e935-6466-4cb8-86db-b5df91ae6541'); $I->canSeeResponseCodeIs(200); $I->canSeeResponseIsJson(); $I->canSeeResponseContainsJson([ [ 'name' => 'klik202', ], [ 'name' => 'klik201', 'changedToAt' => 1474404141000, ], [ 'name' => 'klik202', 'changedToAt' => 1474404143000, ], ]); } public function passWrongUuid(FunctionalTester $I) { $I->wantTo('get user username by some wrong uuid'); $this->route->usernamesByUuid(Uuid::uuid()); $I->canSeeResponseCodeIs(204); $I->canSeeResponseEquals(''); } public function passWrongUuidFormat(FunctionalTester $I) { $I->wantTo('call profile route with invalid uuid string'); $this->route->usernamesByUuid('bla-bla-bla'); $I->canSeeResponseCodeIs(400); $I->canSeeResponseIsJson(); $I->canSeeResponseContainsJson([ 'error' => 'IllegalArgumentException', 'errorMessage' => 'Invalid uuid format.', ]); } }