예제 #1
0
 public function scope(ApiTester $I)
 {
     $user = $I->createAndLoginUser();
     $I->createProjectAndSetHeader();
     $I->loginClient($I->getCurrentClient());
     $second_user = $I->createUser(true);
     $I->loginUser($user);
     $I->sendPOST('api/v1/projects/users', ['user_id' => $second_user->_id, 'role' => 'manager', 'scope' => ['tables_view', 'tables_update']]);
     $I->loginUser($second_user);
     $I->sendPOST('api/v1/admin/tables', $I->getTableData());
     $I->seeResponseCodeIs(403);
     $I->seeResponseContains('"meta":{"error_message":"Bad Scopes","scopes":["tables_create"],"code":403,"error":"access_denied"}');
 }
예제 #2
0
 public function update(ApiTester $I)
 {
     $user = $I->createAndLoginUser();
     $I->createProjectAndSetHeader();
     $I->createTable();
     $I->sendGET('api/v1/admin/tables');
     $I->assertListTable();
     $id = $I->getResponseFields()->data[0]->_id;
     $data = $I->getTableData();
     $data['title'] = 'Updated title';
     $data['description'] = 'Updated description';
     $data['fields'] = [["key" => 'test_key', "title" => 'Test key', "source" => "request", "type" => 'string', 'preset' => null]];
     $data['variants'] = [['default_decision' => 'Decline', 'rules' => [['_id' => $I->getMongoId(), 'than' => 'Approve', 'description' => 'New rule', 'conditions' => [['_id' => $I->getMongoId(), 'field_key' => 'test_key', 'condition' => '$eq', 'value' => 'test']]]]]];
     $I->sendPUT('api/v1/admin/tables/' . $id, $data);
     $I->assertTable();
     $I->assertResponseDataFields($data);
     $I->sendGET('api/v1/admin/changelog/tables');
     $I->assertResponseDataFields(['author' => $user->username]);
 }