my $cds = $schema->resultset('CD');
+throws_ok {
+ $cds->_remap_identifiers(Identifier('name'))
+} qr/Invalid name on me: name/;
+
is_deeply(
- [ $cds->_remap_identifiers(Identifier('name')) ],
- [ Identifier('me', 'name'), [] ],
+ [ $cds->_remap_identifiers(Identifier('title')) ],
+ [ Identifier('me', 'title'), [] ],
'Remap column on me'
);
'Remap column on rel with re-alias'
);
+is_deeply(
+ [ $cds->_remap_identifiers(Identifier('artist_id')) ],
+ [ Identifier('me', 'artist'), [] ],
+ 'Remap column w/column name rename'
+);
+
+my $double_name = expr { $_->artist->name == $_->artist->name }->{expr};
+
+is_deeply(
+ [ $cds->_remap_identifiers($double_name) ],
+ [ $double_name, [ { artist => {} } ] ],
+ 'Remap column on rel only adds rel once'
+);
+
done_testing;