sub run_tests{
my $schema = shift;
- plan tests => 40;
+ plan tests => 42;
my $dvd_rs = $schema->resultset( 'Dvd' );
my $user_rs = $schema->resultset( 'User' );
my $initial_dvd_count = $dvd_rs->count;
my $updates;
+ # try to create with a not existing rel
+ $updates = {
+ name => 'Test name for nonexisting rel',
+ username => 'nonexisting_rel',
+ password => 'whatever',
+ nonexisting => { foo => 'bar' },
+ };
+ eval { my $nonexisting_user = $user_rs->recursive_update( $updates ); };
+ like ($@, qr/No such column, relationship, many-to-many helper accessor or generic accessor 'nonexisting'/, 'nonexisting column, accessor, relationship fails');
+
# creating new record linked to some old record
$updates = {
name => 'Test name 2',
# creating new records
$updates = {
- aaaa => undef,
+ #aaaa => undef,
tags => [ '2', { id => '3' } ],
name => 'Test name',
owner => $owner,
my $num_of_users = $user_rs->count;
$updates = {
id => $dvd->dvd_id, # id instead of dvd_id
- aaaa => undef,
+ ####aaaa => undef,
name => undef,
tags => [ ],
'owner' => $another_owner->id,
is( scalar @tags, 2, 'Tags in has_many related record saved' );
ok( $owned_dvds{'temp name 2'}, 'Second name in a has_many related record saved' );
+ # update has_many where foreign cols aren't nullable
$updates = {
id => $user->id,
address => {
city => "Podunk",
state => "New York"
},
- owned_dvds =>[
+ owned_dvds => [
{
id => 1,
},
]
};
$user = $user_rs->recursive_update( $updates );
- $user = $user_rs->recursive_update( $updates );
is( $schema->resultset( 'Address' )->search({ user_id => $user->id })->count, 1,
'the right number of addresses' );
$dvd = $dvd_rs->find( 1 );
);
is( $user->borrowed_dvds->count, 1, 'set_to_null' );
+ # has_many where foreign cols are nullable
$dvd_rs->update( { current_borrower => $user->id } );
$updates = {
id => $user->id,
- borrowed_dvds =>[
+ borrowed_dvds => [
{
id => $dvd->id
},
);
is( $user->borrowed_dvds->count, 1, 'if_not_submitted delete' );
- my @tags = $schema->resultset( 'Tag' )->search();
+ @tags = $schema->resultset( 'Tag' )->search();
$dvd_updated = DBIx::Class::ResultSet::RecursiveUpdate::Functions::recursive_update(
resultset => $schema->resultset( 'Dvd' ),
updates => {
is( scalar @rel_tags, 2, 'tags related' );
ok( $rel_tags[0]->file eq 'file0' || $rel_tags[0]->file eq 'file1', 'tags related' );
+ my $new_person = {
+ name => 'Amiri Barksdale',
+ username => 'amiri',
+ password => 'amiri',
+ };
+ ok(my $new_user = $user_rs->recursive_update( $new_person ));
+ #print STDERR Dumper $new_user;
+
# $updates = {
# name => 'Test name 1',
# };