mirror of
https://github.com/silverstripe/silverstripe-reports
synced 2024-10-22 11:05:53 +02:00
New style travis tests
- Removed PHP 5.5. build (no longer supported) - Removed PG and SQLite tests (tested through installer nightly) - Added code coverage and linting tests - Fixed linting errors
This commit is contained in:
parent
179310e457
commit
a58416b6f6
32
.travis.yml
32
.travis.yml
@ -1,30 +1,40 @@
|
|||||||
# See https://github.com/silverstripe-labs/silverstripe-travis-support for setup details
|
language: php
|
||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
language: php
|
env:
|
||||||
|
global:
|
||||||
|
- COMPOSER_ROOT_VERSION=1.0.x-dev
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- CORE_RELEASE=master
|
- CORE_RELEASE=master
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
include:
|
include:
|
||||||
- php: 5.6
|
- php: 5.6
|
||||||
env: DB=MYSQL PHPCS_TEST=1
|
env: DB=MYSQL PHPUNIT_TEST=1 PHPCS_TEST=1
|
||||||
- php: 7.0
|
- php: 7.0
|
||||||
env: DB=PGSQL
|
env: DB=MYSQL PHPUNIT_TEST=1
|
||||||
- php: 7.1.2
|
- php: 7.1.2
|
||||||
env: DB=MYSQL
|
env: DB=MYSQL PDO=1 PHPUNIT_COVERAGE_TEST=1
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- composer validate
|
- composer validate
|
||||||
- composer self-update || true
|
- composer self-update || true
|
||||||
- git clone git://github.com/silverstripe-labs/silverstripe-travis-support.git ~/travis-support
|
- "if [ \"$PHPCS_TEST\" = \"1\" ]; then pyrus install pear/PHP_CodeSniffer; fi"
|
||||||
- php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss
|
- phpenv rehash
|
||||||
- cd ~/builds/ss
|
- phpenv config-rm xdebug.ini
|
||||||
- composer install
|
- composer validate
|
||||||
|
- composer install --prefer-dist
|
||||||
|
- composer require --no-update --prefer-dist silverstripe/admin:1.0.x-dev silverstripe/framework:4.0.x-dev silverstripe/versioned:1.0.x-dev silverstripe/config:1.0.x-dev silverstripe/assets:1.0.x-dev --prefer-dist
|
||||||
|
- composer update
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- vendor/bin/phpunit reports/tests
|
- "if [ \"$PHPUNIT_TEST\" = \"1\" ]; then vendor/bin/phpunit; fi"
|
||||||
- if [[ $PHPCS_TEST ]]; then (cd reports && composer run-script lint); fi
|
- "if [ \"$PHPCS_TEST\" = \"1\" ]; then composer run-script lint; fi"
|
||||||
|
- "if [ \"$PHPUNIT_COVERAGE_TEST\" = \"1\" ]; then vendor/bin/phpunit --coverage-clover=coverage.xml; fi"
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- "if [ \"$PHPUNIT_COVERAGE_TEST\" = \"1\" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi"
|
||||||
|
0
_config/config.yml
Normal file
0
_config/config.yml
Normal file
@ -16,8 +16,11 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"silverstripe/framework": "^4.0@dev",
|
"silverstripe/framework": "4.0.x-dev",
|
||||||
"silverstripe/admin": "^1.0@dev"
|
"silverstripe/admin": "1.0.x-dev",
|
||||||
|
"silverstripe/versioned": "1.0.x-dev",
|
||||||
|
"silverstripe/config": "1.0.x-dev",
|
||||||
|
"silverstripe/assets": "1.0.x-dev"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^5.7"
|
"phpunit/phpunit": "^5.7"
|
||||||
@ -36,5 +39,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "phpcs code/ tests/",
|
"lint": "phpcs code/ tests/",
|
||||||
"lint-clean": "phpcbf code/ tests/"
|
"lint-clean": "phpcbf code/ tests/"
|
||||||
}
|
},
|
||||||
|
"minimum-stability": "dev",
|
||||||
|
"prefer-stable": true
|
||||||
}
|
}
|
||||||
|
16
phpunit.xml.dist
Normal file
16
phpunit.xml.dist
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<phpunit bootstrap="framework/tests/bootstrap.php" colors="true">
|
||||||
|
|
||||||
|
<testsuite name="Default">
|
||||||
|
<directory>tests</directory>
|
||||||
|
</testsuite>
|
||||||
|
|
||||||
|
<filter>
|
||||||
|
<whitelist addUncoveredFilesFromWhitelist="true">
|
||||||
|
<directory suffix=".php">.</directory>
|
||||||
|
<exclude>
|
||||||
|
<directory suffix=".php">tests/</directory>
|
||||||
|
</exclude>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
|
|
||||||
|
</phpunit>
|
@ -2,10 +2,9 @@
|
|||||||
|
|
||||||
namespace SilverStripe\Reports\Tests;
|
namespace SilverStripe\Reports\Tests;
|
||||||
|
|
||||||
use SilverStripe\Dev\SapphireTest;
|
|
||||||
use SilverStripe\Forms\GridField\GridField;
|
|
||||||
use SilverStripe\Forms\GridField\GridFieldDataColumns;
|
|
||||||
use SilverStripe\Reports\Report;
|
use SilverStripe\Reports\Report;
|
||||||
|
use SilverStripe\Dev\SapphireTest;
|
||||||
|
use SilverStripe\Forms\GridField\GridFieldDataColumns;
|
||||||
use SilverStripe\Reports\Tests\ReportTest\FakeObject;
|
use SilverStripe\Reports\Tests\ReportTest\FakeObject;
|
||||||
use SilverStripe\Reports\Tests\ReportTest\FakeTest;
|
use SilverStripe\Reports\Tests\ReportTest\FakeTest;
|
||||||
use SilverStripe\Reports\Tests\ReportTest\FakeTest2;
|
use SilverStripe\Reports\Tests\ReportTest\FakeTest2;
|
||||||
|
39
tests/ReportTest_FakeObject.php
Normal file
39
tests/ReportTest_FakeObject.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
namespace SilverStripe\Reports\Tests;
|
||||||
|
|
||||||
|
use SilverStripe\ORM\DataObject;
|
||||||
|
use SilverStripe\ORM\CMSPreviewable;
|
||||||
|
use SilverStripe\Dev\TestOnly;
|
||||||
|
use SilverStripe\Control\Controller;
|
||||||
|
|
||||||
|
class ReportTest_FakeObject extends DataObject implements CMSPreviewable, TestOnly
|
||||||
|
{
|
||||||
|
|
||||||
|
private static $db = array(
|
||||||
|
'Title' => 'Varchar'
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return String Absolute URL to the end-user view for this record.
|
||||||
|
* Example: http://mysite.com/my-record
|
||||||
|
*/
|
||||||
|
public function Link()
|
||||||
|
{
|
||||||
|
return Controller::join_links('dummy-link', $this->ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function CMSEditLink()
|
||||||
|
{
|
||||||
|
return Controller::join_links('dummy-edit-link', $this->ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function PreviewLink($action = null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMimeType()
|
||||||
|
{
|
||||||
|
return 'text/html';
|
||||||
|
}
|
||||||
|
}
|
36
tests/ReportTest_FakeTest.php
Normal file
36
tests/ReportTest_FakeTest.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
namespace SilverStripe\Reports\Tests;
|
||||||
|
|
||||||
|
use SilverStripe\Dev\TestOnly;
|
||||||
|
use SilverStripe\ORM\ArrayList;
|
||||||
|
use SilverStripe\Reports\Report;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package reports
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
|
class ReportTest_FakeTest extends Report implements TestOnly
|
||||||
|
{
|
||||||
|
public function title()
|
||||||
|
{
|
||||||
|
return 'Report title';
|
||||||
|
}
|
||||||
|
public function columns()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
"Title" => array(
|
||||||
|
"title" => "Page Title",
|
||||||
|
"link" => true,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
public function sourceRecords($params, $sort, $limit)
|
||||||
|
{
|
||||||
|
return new ArrayList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sort()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
}
|
35
tests/ReportTest_FakeTest2.php
Normal file
35
tests/ReportTest_FakeTest2.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
namespace SilverStripe\Reports\Tests;
|
||||||
|
|
||||||
|
use SilverStripe\Dev\TestOnly;
|
||||||
|
use SilverStripe\ORM\ArrayList;
|
||||||
|
use SilverStripe\Reports\Report;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package reports
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
|
class ReportTest_FakeTest2 extends Report implements TestOnly
|
||||||
|
{
|
||||||
|
public function title()
|
||||||
|
{
|
||||||
|
return 'Report title 2';
|
||||||
|
}
|
||||||
|
public function columns()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
"Title" => array(
|
||||||
|
"title" => "Page Title 2"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
public function sourceRecords($params, $sort, $limit)
|
||||||
|
{
|
||||||
|
return new ArrayList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sort()
|
||||||
|
{
|
||||||
|
return 98;
|
||||||
|
}
|
||||||
|
}
|
37
tests/ReportTest_FakeTest_Abstract.php
Normal file
37
tests/ReportTest_FakeTest_Abstract.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
namespace SilverStripe\Reports\Tests;
|
||||||
|
|
||||||
|
use SilverStripe\Dev\TestOnly;
|
||||||
|
use SilverStripe\ORM\ArrayList;
|
||||||
|
use SilverStripe\Reports\Report;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package reports
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
|
abstract class ReportTest_FakeTest_Abstract extends Report implements TestOnly
|
||||||
|
{
|
||||||
|
|
||||||
|
public function title()
|
||||||
|
{
|
||||||
|
return 'Report title Abstract';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function columns()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
"Title" => array(
|
||||||
|
"title" => "Page Title Abstract"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
public function sourceRecords($params, $sort, $limit)
|
||||||
|
{
|
||||||
|
return new ArrayList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sort()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user