#!perl
ok(
my
$schema
= DBICTest->init_schema(),
'got schema'
);
my
$config_dir
= io->catfile(
qw't var configs'
)->name;
ok(
my
$fixtures
= DBIx::Class::Fixtures->new({
config_dir
=>
$config_dir
,
debug
=> 0 }),
'object created with correct config dir'
);
ok(
$fixtures
->
dump
({
config
=>
'fetch.json'
,
schema
=>
$schema
,
directory
=> io->catfile(
qw't var fixtures'
)->name }),
'fetch dump executed okay'
);
my
$dir
= dir(io->catfile(
qw't var fixtures artist'
)->name);
my
@children
=
$dir
->children;
is(
scalar
(
@children
), 3,
'right number of artist fixtures created'
);
foreach
my
$id
(1, 2) {
my
$artist_fix_file
= dir(
$dir
,
$id
.
'.fix'
);
ok(-e
$artist_fix_file
,
"artist $id dumped okay"
);
}
my
$artist1
=
$schema
->resultset(
'Artist'
)->find(1);
my
@artist1_cds
=
$artist1
->cds->all;
foreach
my
$cd
(
@artist1_cds
) {
my
$cd_fix_file
= dir(io->catfile(
qw't var fixtures'
)->name,
'CD'
,
$cd
->id .
'.fix'
);
ok(-e
$cd_fix_file
,
"artist1's cd rel dumped okay"
);
}
my
$artist2
=
$schema
->resultset(
'Artist'
)->find(2);
my
@artist2_cds
=
$artist2
->cds->search({
year
=> {
'>'
=> 2002 } });
foreach
my
$cd
(
@artist2_cds
) {
my
$cd_fix_file
= dir(io->catfile(
qw't var fixtures'
)->name,
'CD'
,
$cd
->id .
'.fix'
);
ok(-e
$cd_fix_file
,
"artist2's cd rel dumped okay"
);
}
my
$cd_dir
= dir(io->catfile(
qw't var fixtures CD'
)->name);
@children
=
$cd_dir
->children;
is(
scalar
(
@children
),
scalar
(
@artist1_cds
) +
scalar
(
@artist2_cds
),
'no extra cd fixtures dumped'
);