예제 #1
0
 public function accessForCheck(ApiTester $I)
 {
     $first_user = $I->createUser(true, '', false);
     $second_user = $I->createUser(true);
     $I->loginUser($first_user);
     $I->createProjectAndSetHeader();
     $consumer = $I->createConsumer();
     $table = $I->createTable();
     $table_id = $table->_id;
     $data = ['borrowers_phone_verification' => 'Positive', 'contact_person_phone_verification' => 'Positive', 'internal_credit_history' => 'Positive', 'employment' => true, 'property' => true, 'matching_rules_type' => 'decision'];
     $I->sendPOST("api/v1/tables/{$table_id}/decisions", $data);
     $I->canSeeResponseCodeIs(403);
     $I->seeResponseContains("Project owner is not activated, try again later");
     $I->sendPOST('api/v1/projects/users', ['user_id' => $second_user->_id, 'role' => 'manager', 'scope' => ['tables_view', 'decisions_make']]);
     $I->loginUser($second_user);
     $I->sendPOST("api/v1/tables/{$table_id}/decisions", $data);
     $I->canSeeResponseCodeIs(403);
     $I->seeResponseContains("Project owner is not activated, try again later");
     $I->loginConsumer($consumer);
     $I->sendPOST("api/v1/tables/{$table_id}/decisions", $data);
     $I->canSeeResponseCodeIs(403);
     $I->seeResponseContains("Project owner is not activated, try again later");
     $I->logout();
     $I->loginClient($I->getCurrentClient());
     $I->sendPOST('api/v1/users/verify/email', ['token' => $first_user->sandbox->token_email->token]);
     $I->seeResponseCodeIs(200);
     $I->loginUser($first_user);
     $I->makeDecision($table_id);
     $I->loginConsumer($consumer);
     $I->makeDecision($table_id);
     $I->loginUser($second_user);
     $I->makeDecision($table_id);
 }
예제 #2
0
 public function variantsProbabilityPercent(ApiTester $I)
 {
     $I->createAndLoginUser();
     $I->createProjectAndSetHeader();
     $data = $I->getTableShortData();
     $data['variants_probability'] = 'percent';
     $data['variants'][0]['probability'] = 10;
     $data['variants'][0]['title'] = 'Variant 1';
     $data['variants'][1] = ['title' => 'Variant 2', 'default_title' => 'Variant 2', 'default_description' => 'Description Variant 2', 'default_decision' => 'Decline', 'probability' => 40, 'rules' => $I->getVariantRules()];
     $data['variants'][2] = ['title' => 'Variant 3', 'default_title' => 'Variant 3', 'default_description' => 'Description Variant 3', 'default_decision' => 'Decline', 'probability' => 50, 'rules' => $I->getVariantRules()];
     $matched = [];
     $table = $I->createTable($data);
     for ($i = 0; $i < 100; $i++) {
         $res = $I->makeDecision($table->_id, ['numeric' => 340, 'string' => 'Bad', 'bool' => true]);
         $title = $res->table->variant->title;
         if (!array_key_exists($title, $matched)) {
             $matched[$title] = 0;
         }
         $matched[$title]++;
     }
     $I->assertEquals(3, count($matched), 'Some Table.variants for variants_probability=percent not matched');
     $I->assertTrue($matched['Variant 1'] < $matched['Variant 2'], 'Variant 1 checked more than Variant 2');
     $I->assertTrue($matched['Variant 1'] < $matched['Variant 3'], 'Variant 1 checked more than Variant 3');
 }
예제 #3
0
 public function hideMeta(ApiTester $I)
 {
     $I->createAndLoginUser();
     $I->createProjectAndSetHeader(['settings' => ['show_meta' => false]]);
     $I->createTable();
     $I->makeDecision($I->getResponseFields()->data->_id, [], 'decision', false);
 }