1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-23 09:02:41 +00:00

Re-organize test data for Database tests

This commit is contained in:
J. King 2017-06-18 12:24:19 -04:00
parent 483874e21d
commit 845b47e656
5 changed files with 100 additions and 48 deletions

View file

@ -29,10 +29,23 @@ trait SeriesFeed {
]; ];
function setUpSeries() { function setUpSeries() {
// set up the test data
$past = gmdate("Y-m-d H:i:s",strtotime("now - 1 minute")); $past = gmdate("Y-m-d H:i:s",strtotime("now - 1 minute"));
$future = gmdate("Y-m-d H:i:s",strtotime("now + 1 minute")); $future = gmdate("Y-m-d H:i:s",strtotime("now + 1 minute"));
$now = gmdate("Y-m-d H:i:s",strtotime("now")); $now = gmdate("Y-m-d H:i:s",strtotime("now"));
$data = [ $this->data = [
'arsse_users' => [
'columns' => [
'id' => 'str',
'password' => 'str',
'name' => 'str',
'rights' => 'int',
],
'rows' => [
["jane.doe@example.com", "", "Jane Doe", UserDriver::RIGHTS_NONE],
["john.doe@example.com", "", "John Doe", UserDriver::RIGHTS_NONE],
],
],
'arsse_feeds' => [ 'arsse_feeds' => [
'columns' => [ 'columns' => [
'id' => "int", 'id' => "int",
@ -126,10 +139,7 @@ trait SeriesFeed {
] ]
], ],
]; ];
// merge tables
$this->data = array_merge($this->data, $data);
$this->primeDatabase($this->data); $this->primeDatabase($this->data);
$this->user = "john.doe@example.com";
} }
function testListLatestItems() { function testListLatestItems() {

View file

@ -7,6 +7,46 @@ use Phake;
trait SeriesFolder { trait SeriesFolder {
function setUpSeries() { function setUpSeries() {
$this->data = [
'arsse_users' => [
'columns' => [
'id' => 'str',
'password' => 'str',
'name' => 'str',
'rights' => 'int',
],
'rows' => [
["jane.doe@example.com", "", "Jane Doe", UserDriver::RIGHTS_NONE],
["john.doe@example.com", "", "John Doe", UserDriver::RIGHTS_NONE],
],
],
'arsse_folders' => [
'columns' => [
'id' => "int",
'owner' => "str",
'parent' => "int",
'name' => "str",
],
/* Layout translates to:
Jane
Politics
John
Technology
Software
Politics
Rocketry
Politics
*/
'rows' => [
[1, "john.doe@example.com", null, "Technology"],
[2, "john.doe@example.com", 1, "Software"],
[3, "john.doe@example.com", 1, "Rocketry"],
[4, "jane.doe@example.com", null, "Politics"],
[5, "john.doe@example.com", null, "Politics"],
[6, "john.doe@example.com", 2, "Politics"],
]
],
];
$this->primeDatabase($this->data); $this->primeDatabase($this->data);
} }

View file

@ -9,7 +9,36 @@ use Phake;
trait SeriesSubscription { trait SeriesSubscription {
function setUpSeries() { function setUpSeries() {
$data = [ $this->data = [
'arsse_users' => [
'columns' => [
'id' => 'str',
'password' => 'str',
'name' => 'str',
'rights' => 'int',
],
'rows' => [
["admin@example.net", '$2y$10$PbcG2ZR3Z8TuPzM7aHTF8.v61dtCjzjK78gdZJcp4UePE8T9jEgBW', "Hard Lip Herbert", UserDriver::RIGHTS_GLOBAL_ADMIN], // password is hash of "secret"
["jane.doe@example.com", "", "Jane Doe", UserDriver::RIGHTS_NONE],
["john.doe@example.com", "", "John Doe", UserDriver::RIGHTS_NONE],
],
],
'arsse_folders' => [
'columns' => [
'id' => "int",
'owner' => "str",
'parent' => "int",
'name' => "str",
],
'rows' => [
[1, "john.doe@example.com", null, "Technology"],
[2, "john.doe@example.com", 1, "Software"],
[3, "john.doe@example.com", 1, "Rocketry"],
[4, "jane.doe@example.com", null, "Politics"],
[5, "john.doe@example.com", null, "Politics"],
[6, "john.doe@example.com", 2, "Politics"],
]
],
'arsse_feeds' => [ 'arsse_feeds' => [
'columns' => [ 'columns' => [
'id' => "int", 'id' => "int",
@ -83,8 +112,6 @@ trait SeriesSubscription {
] ]
], ],
]; ];
// merge tables
$this->data = array_merge($this->data, $data);
$this->primeDatabase($this->data); $this->primeDatabase($this->data);
// initialize a partial mock of the Database object to later manipulate the feedUpdate method // initialize a partial mock of the Database object to later manipulate the feedUpdate method
Data::$db = Phake::PartialMock(Database::class, $this->drv); Data::$db = Phake::PartialMock(Database::class, $this->drv);

View file

@ -7,6 +7,21 @@ use Phake;
trait SeriesUser { trait SeriesUser {
function setUpSeries() { function setUpSeries() {
$this->data = [
'arsse_users' => [
'columns' => [
'id' => 'str',
'password' => 'str',
'name' => 'str',
'rights' => 'int',
],
'rows' => [
["admin@example.net", '$2y$10$PbcG2ZR3Z8TuPzM7aHTF8.v61dtCjzjK78gdZJcp4UePE8T9jEgBW', "Hard Lip Herbert", UserDriver::RIGHTS_GLOBAL_ADMIN], // password is hash of "secret"
["jane.doe@example.com", "", "Jane Doe", UserDriver::RIGHTS_NONE],
["john.doe@example.com", "", "John Doe", UserDriver::RIGHTS_NONE],
],
],
];
$this->primeDatabase($this->data); $this->primeDatabase($this->data);
} }

View file

@ -11,47 +11,7 @@ use Phake;
trait Setup { trait Setup {
protected $drv; protected $drv;
protected $data = [ protected $data = [];
'arsse_users' => [
'columns' => [
'id' => 'str',
'password' => 'str',
'name' => 'str',
'rights' => 'int',
],
'rows' => [
["admin@example.net", '$2y$10$PbcG2ZR3Z8TuPzM7aHTF8.v61dtCjzjK78gdZJcp4UePE8T9jEgBW', "Hard Lip Herbert", UserDriver::RIGHTS_GLOBAL_ADMIN], // password is hash of "secret"
["jane.doe@example.com", "", "Jane Doe", UserDriver::RIGHTS_NONE],
["john.doe@example.com", "", "John Doe", UserDriver::RIGHTS_NONE],
],
],
'arsse_folders' => [
'columns' => [
'id' => "int",
'owner' => "str",
'parent' => "int",
'name' => "str",
],
/* Layout translates to:
Jane
Politics
John
Technology
Software
Politics
Rocketry
Politics
*/
'rows' => [
[1, "john.doe@example.com", null, "Technology"],
[2, "john.doe@example.com", 1, "Software"],
[3, "john.doe@example.com", 1, "Rocketry"],
[4, "jane.doe@example.com", null, "Politics"],
[5, "john.doe@example.com", null, "Politics"],
[6, "john.doe@example.com", 2, "Politics"],
]
],
];
function setUp() { function setUp() {
// establish a clean baseline // establish a clean baseline