Interchange6-Schema

 view release on metacpan or  search on metacpan

t/lib/Test/Fixtures.pm  view on Meta::CPAN


    ok( $self->has_states, "has_states is true" );

    cmp_ok( $self->states->search( { country_iso_code => 'US' } )->count,
        '==', 51, "51 states (including DC) in the US" );

    cmp_ok( $self->states->search( { country_iso_code => 'CA' } )->count,
        '==', 13, "13 provinces and territories in Canada" );

};

test 'taxes' => sub {
    my $self   = shift;
    my $schema = $self->ic6s_schema;

    my $rset;

    cmp_ok( $self->taxes->count, '==', 37, "37 Tax rates" );

    ok( $self->has_taxes, "has_taxes is true" );

    # EU Standard rate VAT
    lives_ok(
        sub {
            $rset = $self->taxes->search( { tax_name => "MT VAT Standard" } );
        },
        "search for Malta VAT"
    );
    cmp_ok( $rset->count, '==', 1, "Found one tax" );
    cmp_ok(
        $rset->first->description,
        'eq',
        'Malta VAT Standard Rate',
        "Tax description is correct"
    );

    # Canada GST/PST/HST/QST
    lives_ok(
        sub {
            $rset = $self->taxes->search( { tax_name => "CA ON HST" } );
        },
        "search for Canada Ontario HST"
    );
    cmp_ok( $rset->count, '==', 1, "Found one tax" );
    cmp_ok(
        $rset->first->description,
        'eq',
        'CA Ontario HST',
        "Tax description is correct"
    );

    my $country_count = $self->countries->count;
    my $state_count   = $self->states->count;

    lives_ok( sub { $self->clear_taxes }, "clear_taxes" );

    ok( !$self->has_taxes, "has_taxes is false" );

    cmp_ok( $schema->resultset('Tax')->count, '==', 0, "0 Taxes in DB" );

    # check no cascade delete to country/state
    cmp_ok( $country_count, '==', $self->countries->count, "country count" );
    cmp_ok( $state_count,   '==', $self->states->count,    "state count" );

};

test 'price modifiers' => sub {
    my $self   = shift;
    my $schema = $self->ic6s_schema;

    cmp_ok( $self->price_modifiers->count,
        '>=', 15, "at least 15 price_modifiers" );

    ok( $self->has_price_modifiers, "has_price_modifiers is true" );
};

test 'roles' => sub {
    my $self   = shift;
    my $schema = $self->ic6s_schema;

    cmp_ok( $self->roles->count, '==', 7, "7 roles" );

    ok( $self->has_roles, "has_roles is true" );
};

test 'zones' => sub {
    my $self   = shift;
    my $schema = $self->ic6s_schema;

    cmp_ok( $self->zones->count, '>=', 316, "at least 316 zones" );

    ok( $self->has_zones, "has_zones is true" );
};

test 'users' => sub {
    my $self   = shift;
    my $schema = $self->ic6s_schema;

    cmp_ok( $self->users->count, '==', 6, "6 users" );

    ok( $self->has_users, "has_users is true" );

    cmp_ok( $schema->resultset('User')->count, '==', 6, "6 users in the db" );

    cmp_ok(
        $self->users->search( { username => { -like => 'customer%' } } )->count,
        '==', 3, "3 customers"
    );

    cmp_ok(
        $self->users->search( { username => { -like => 'admin%' } } )->count,
        '==', 2, "2 admin" );

    cmp_ok(
        $self->users->search( { username => { -like => 'company%' } } )->count,
        '==', 1, "1 company" );
};

test 'uri_redirects' => sub {
    my $self   = shift;
    my $schema = $self->ic6s_schema;



( run in 1.508 second using v1.01-cache-2.11-cpan-ad66724bd6a )