- All models now extend a generic Model class that extends Sudzy - Wrote tests for Subscriber and Setting model validation - Rewrote model tests to make sure they look the same - Updated both tests with cleanup logic in the beginning - Added test:unit-single method to Robo for selective unit testing Closes #54
79 lines
2.3 KiB
PHP
79 lines
2.3 KiB
PHP
<?php
|
|
|
|
|
|
class RoboFile extends \Robo\Tasks {
|
|
function install() {
|
|
$this->_exec('./composer.phar install');
|
|
$this->_exec('npm install');
|
|
}
|
|
|
|
function update() {
|
|
$this->say(getenv('WP_TEST_URL'));
|
|
$this->_exec('./composer.phar update');
|
|
$this->_exec('npm update');
|
|
}
|
|
|
|
function watch() {
|
|
$files = array(// global admin styles
|
|
'assets/css/src/admin.styl', // rtl specific styles
|
|
'assets/css/src/rtl.styl');
|
|
|
|
$command = array('./node_modules/stylus/bin/stylus -u', ' nib -w' . join(' ', $files) . ' -o assets/css/');
|
|
$this->_exec(join(' ', $command));
|
|
}
|
|
|
|
function makepot() {
|
|
$this->_exec('grunt makepot' . ' --gruntfile ' . __DIR__ . '/tasks/makepot/makepot.js' . ' --base_path ' . __DIR__);
|
|
}
|
|
|
|
function pushpot() {
|
|
$this->_exec('grunt pushpot' . ' --gruntfile ' . __DIR__ . '/tasks/makepot/makepot.js' . ' --base_path ' . __DIR__);
|
|
}
|
|
|
|
function testUnit() {
|
|
$this->_exec('vendor/bin/codecept build');
|
|
$this->loadEnv();
|
|
$this->_exec('vendor/bin/codecept run unit');
|
|
}
|
|
|
|
function testUnitSingle($unit = null) {
|
|
if (!$unit) {
|
|
throw new Exception("Your need to specify what you want to test (e.g.: test:unit-single models/SubscriberCest)");
|
|
}
|
|
$this->_exec('vendor/bin/codecept build');
|
|
$this->loadEnv();
|
|
$this->_exec('vendor/bin/codecept run unit ' . $unit);
|
|
}
|
|
|
|
function testAcceptance() {
|
|
$this->_exec('vendor/bin/codecept build');
|
|
$this->loadEnv();
|
|
$this->taskExec('phantomjs --webdriver=4444')->background()->run();
|
|
sleep(2);
|
|
$this->_exec('vendor/bin/codecept run acceptance');
|
|
}
|
|
|
|
function testAll() {
|
|
$this->_exec('vendor/bin/codecept build');
|
|
$this->loadEnv();
|
|
$this->taskexec('phantomjs --webdriver=4444')->background()->run();
|
|
sleep(2);
|
|
$this->_exec('vendor/bin/codecept run');
|
|
}
|
|
|
|
function testDebug() {
|
|
$this->_exec('vendor/bin/codecept build');
|
|
$this->loadEnv();
|
|
$this->_exec('vendor/bin/codecept run unit --debug');
|
|
}
|
|
|
|
protected function loadEnv() {
|
|
$dotenv = new Dotenv\Dotenv(__DIR__);
|
|
$dotenv->load();
|
|
|
|
$this->taskWriteToFile('tests/acceptance.suite.yml')->textFromFile('tests/acceptance.suite.src')->run();
|
|
|
|
$this->taskReplaceInFile('tests/acceptance.suite.yml')->regex("/url.*/")->to('url: ' . "'" . getenv('WP_TEST_URL') . "'")->run();
|
|
}
|
|
}
|