예제 #1
0
 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);
 }
예제 #2
0
 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));
 }
예제 #3
0
 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());
 }