Skip to content

Commit

Permalink
added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
xaicron committed Oct 13, 2010
1 parent b8f1992 commit 61deb02
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 0 deletions.
91 changes: 91 additions & 0 deletions t/model/datasource/user/get_user.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
use strict;
use warnings;
use lib 't/lib';
use Test::More;
use Test::Exception;
use Test::Mayoi::Fixture::DBI;
use Path::Class;

use Mayoi::Model::DataSource::User;

my $test_dir = dir(__FILE__)->parent->subdir('get_user');

my $db = Test::Mayoi::Fixture::DBI->setup_database(
{
database => 'mayoi',
node => [qw/USER_MASTER USER_SLAVE/],
schema => [qw/user_data/],
},
);

Test::Mayoi::Fixture::DBI->setup_fixture(
{
node => 'USER_MASTER',
fixtures => [
$test_dir->file('user_data_fixture.yaml')->stringify,
],
},
);

my $ds = Mayoi::Model::DataSource::User->new;
sub test_get_user_data {
my %specs = @_;
my ($input, $expects, $is_succes, $desc) = @specs{qw/input expects is_succes desc/};

subtest $desc => sub {
unless ($is_succes) {
throws_ok {
$ds->get_user_data($input);
} 'Mayoi::Exception';
is_deeply $@, $expects, 'exception ok';
return;
}

my $got;
lives_ok {
$got = $ds->get_user_data($input);
} 'get_user_data success';

is_deeply $got, $expects, 'user_data ok';

done_testing;
};
}

test_get_user_data(
input => {
user_id => 1,
},
expects => {
id => 1,
name => 'xaicron',
},
is_succes => 1,
desc => 'get an user',
);

test_get_user_data(
input => {
user_id => 2,
},
expects => Mayoi::Exception->new(
code => 404,
message => 'user not found (user_id: 2)',
),
is_succes => 0,
desc => 'disabled: 1',
);

test_get_user_data(
input => {
user_id => 3,
},
expects => Mayoi::Exception->new(
code => 404,
message => 'user not found (user_id: 3)',
),
is_succes => 0,
desc => 'empty',
);

done_testing;
8 changes: 8 additions & 0 deletions t/model/datasource/user/new.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
use strict;
use warnings;
use Test::More;
use Mayoi::Model::DataSource::User;

new_ok 'Mayoi::Model::DataSource::User';

done_testing;
7 changes: 7 additions & 0 deletions t/model/datasource/user/use.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
use strict;
use warnings;
use Test::More;

use_ok 'Mayoi::Model::DataSource::User';

done_testing;

0 comments on commit 61deb02

Please sign in to comment.