mirror of
				https://github.com/elyby/accounts.git
				synced 2025-05-31 14:11:46 +05:30 
			
		
		
		
	Добавлен action для принятия правил + тесты для него
This commit is contained in:
		@@ -59,4 +59,9 @@ class AccountsRoute extends BasePage {
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function acceptRules() {
 | 
			
		||||
        $this->route = ['accounts/accept-rules'];
 | 
			
		||||
        $this->actor->sendPOST($this->getUrl());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								tests/codeception/api/functional/AccountsAcceptRulesCest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								tests/codeception/api/functional/AccountsAcceptRulesCest.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace tests\codeception\api\functional;
 | 
			
		||||
 | 
			
		||||
use tests\codeception\api\_pages\AccountsRoute;
 | 
			
		||||
use tests\codeception\api\FunctionalTester;
 | 
			
		||||
 | 
			
		||||
class AccountsAcceptRulesCest {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @var AccountsRoute
 | 
			
		||||
     */
 | 
			
		||||
    private $route;
 | 
			
		||||
 | 
			
		||||
    public function _before(FunctionalTester $I) {
 | 
			
		||||
        $this->route = new AccountsRoute($I);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testCurrent(FunctionalTester $I) {
 | 
			
		||||
        $I->loggedInAsActiveAccount('Veleyaba', 'password_0');
 | 
			
		||||
        $this->route->acceptRules();
 | 
			
		||||
        $I->canSeeResponseCodeIs(200);
 | 
			
		||||
        $I->canSeeResponseIsJson();
 | 
			
		||||
        $I->canSeeResponseContainsJson([
 | 
			
		||||
            'success' => true,
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace codeception\api\unit\models\profile;
 | 
			
		||||
 | 
			
		||||
use api\models\profile\AcceptRulesForm;
 | 
			
		||||
use Codeception\Specify;
 | 
			
		||||
use common\models\Account;
 | 
			
		||||
use tests\codeception\api\unit\DbTestCase;
 | 
			
		||||
use tests\codeception\common\fixtures\AccountFixture;
 | 
			
		||||
use const common\LATEST_RULES_VERSION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @property AccountFixture $accounts
 | 
			
		||||
 */
 | 
			
		||||
class AcceptRulesFormTest extends DbTestCase {
 | 
			
		||||
    use Specify;
 | 
			
		||||
 | 
			
		||||
    public function fixtures() {
 | 
			
		||||
        return [
 | 
			
		||||
            'accounts' => AccountFixture::class,
 | 
			
		||||
        ];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testApplyLanguage() {
 | 
			
		||||
        $this->specify('rules version bumped to latest', function() {
 | 
			
		||||
            /** @var Account $account */
 | 
			
		||||
            $account = Account::findOne($this->accounts['account-with-old-rules-version']);
 | 
			
		||||
            $model = new AcceptRulesForm($account);
 | 
			
		||||
            expect($model->agreeWithLatestRules())->true();
 | 
			
		||||
            expect($account->rules_agreement_version)->equals(LATEST_RULES_VERSION);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -107,4 +107,17 @@ return [
 | 
			
		||||
        'created_at' => 1463349615,
 | 
			
		||||
        'updated_at' => 1463349615,
 | 
			
		||||
    ],
 | 
			
		||||
    'account-with-old-rules-version' => [
 | 
			
		||||
        'id' => 9,
 | 
			
		||||
        'uuid' => '410462d3-8e71-47cc-bac6-64f77f88cf80',
 | 
			
		||||
        'username' => 'Veleyaba',
 | 
			
		||||
        'email' => 'veleyaba@gmail.com',
 | 
			
		||||
        'password_hash' => '$2y$13$2rYkap5T6jG8z/mMK8a3Ou6aZxJcmAaTha6FEuujvHEmybSHRzW5e', # password_0
 | 
			
		||||
        'password_hash_strategy' => \common\models\Account::PASS_HASH_STRATEGY_YII2,
 | 
			
		||||
        'lang' => 'en',
 | 
			
		||||
        'status' => \common\models\Account::STATUS_ACTIVE,
 | 
			
		||||
        'rules_agreement_version' => null,
 | 
			
		||||
        'created_at' => 1470499952,
 | 
			
		||||
        'updated_at' => 1470499952,
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user