Bug 15152: t/db_dependent/Reports_Guided.t should not depend on existing data
The current implementation relies on existing borrowers on the DB. Even when the DB itself doesn't have a FK constraint, the function that retrieves the reports from the DB relies on get_saved_reports_base_query which creates a query that JOINs the full query with the 'borrowers' table, on the borrowernumber. So it is doomed to fail on some scenarios. Specially because the current tests expect specific borrowernumber values to be present (1, 2 and 3). To test: [To set the failure scenario] $ vagrant up jessie $ vagrant ssh jessie $ wget https://theke.io/static/reports_guided_sequence.txt -O /vagrant/reports_guided_sequence.txt $ wget https://theke.io/static/koha_3_20_00.sql.gz -O /vagrant/koha_3_20_00.sql.gz $ sudo -s $ mysql > DROP DATABASE koha_kohadev; CREATE DATABASE koha_kohadev; \q $ zcat /vagrant/koha_3_20_00.sql.gz | mysql koha_kohadev $ exit $ sudo koha-shell kohadev $ cd kohaclone $ cat /vagrant/reports_guided_sequence.txt | xargs prove - now run the tests: $ prove t/db_dependent/Reports_Guided.t => FAIL: The tests fail - Apply the patch - [re create the scenario] - Run the test: $ prove t/db_dependent/Reports_Guided.t => SUCCESS: Tests now pass - Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
9515db57bd
commit
c0adb88d0a
1 changed files with 4 additions and 1 deletions
|
@ -19,6 +19,7 @@ use Modern::Perl;
|
|||
|
||||
use Test::More tests => 18;
|
||||
use Test::Warn;
|
||||
use t::lib::TestBuilder;
|
||||
|
||||
use C4::Context;
|
||||
use Koha::Database;
|
||||
|
@ -33,6 +34,7 @@ can_ok(
|
|||
|
||||
my $schema = Koha::Database->new->schema;
|
||||
$schema->storage->txn_begin;
|
||||
my $builder = t::lib::TestBuilder->new;
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
$dbh->do(q|DELETE FROM saved_sql|);
|
||||
|
@ -45,7 +47,8 @@ my $count = scalar( @{ get_saved_reports() } );
|
|||
is( $count, 0, "There is no report" );
|
||||
|
||||
my @report_ids;
|
||||
for my $id ( 1 .. 3 ) {
|
||||
foreach ( 1..3 ) {
|
||||
my $id = $builder->build({ source => 'Borrower' })->{ borrowernumber };
|
||||
push @report_ids, save_report({
|
||||
borrowernumber => $id,
|
||||
sql => "SQL$id",
|
||||
|
|
Loading…
Reference in a new issue