public function create(ApiTester $I) { $I->createAndLoginUser(); $faker = $I->getFaker(); $project = ['title' => $faker->streetName, 'description' => $faker->text('150')]; $I->sendPOST('api/v1/projects', $project); $project = json_decode($I->grabResponse()); $I->assertProject('$.data', 201); $project_id = $project->data->_id; $I->setHeader('X-Application', $project_id); $I->sendPOST('api/v1/projects/consumers', ['description' => $faker->text('20'), 'scope' => ['decisions_make']]); $I->assertConsumers('$.data[*]', 201); $I->sendPOST('api/v1/projects/consumers', ['description' => $faker->text('20'), 'scope' => ['check', 'undefined_scope']]); $I->seeResponseCodeIs(422); }
public function filters(ApiTester $I) { $I->createAndLoginUser(); $I->createProjectAndSetHeader(); $table = $I->createTable($I->getTableShortData()); $tableDataAll = $I->getShortTableDataMatchingTypeAll(); $tableDataAll['description'] = 'Matching type scoring'; $tableAll = $I->createTable($tableDataAll); $I->sendGET('api/v1/admin/tables?title=Title'); $I->assertTrue(count($I->getResponseFields()->data) == 2, "Wrong amount of the Tables by filter 'Title'"); $I->sendGET('api/v1/admin/tables?description=cription'); $I->assertEquals($table->_id, $I->getResponseFields()->data[0]->_id); $I->sendGET('api/v1/admin/tables?description=ching'); $I->assertEquals($tableAll->_id, $I->getResponseFields()->data[0]->_id); $I->sendGET('api/v1/admin/tables?matching_type=invalid'); $I->seeResponseCodeIs(422); $I->sendGET('api/v1/admin/tables?matching_type=scoring'); $I->assertEquals($tableAll->_id, $I->getResponseFields()->data[0]->_id); $I->sendGET('api/v1/admin/tables?matching_type=decision'); $I->assertEquals($table->_id, $I->getResponseFields()->data[0]->_id); $secondProject = $I->createProject(true); $I->setHeader('X-Application', $secondProject->_id); $I->sendGET('api/v1/admin/tables'); $I->assertEquals(0, count($I->getResponseFields()->data)); }
public function invitation(ApiTester $I) { $faker = $I->getFaker(); $I->createAndLoginUser(); $first_project = $I->createProjectAndSetHeader(); $second_user_email = $faker->email; $I->sendPOST('api/v1/invite', ['email' => $second_user_email, 'role' => 'manager', 'scope' => ['tables_create', 'tables_view']]); $I->seeResponseCodeIs(200); $second_project = $I->createProject(true); $I->setHeader('X-Application', $second_project->_id); $I->sendPOST('api/v1/invite', ['email' => $second_user_email, 'role' => 'manager', 'scope' => ['tables_create', 'tables_view']]); $I->seeResponseCodeIs(200); $I->logout(); $I->loginClient($I->getCurrentClient()); $I->loginUser($I->createUser(true, $second_user_email)); $I->sendGET('api/v1/projects'); $I->seeResponseCodeIs(200); $I->assertContains($first_project->_id, $I->grabResponse()); $I->assertContains($second_project->_id, $I->grabResponse()); }