use Test::Exception;
use Catalyst::Model::DBIC::Schema;
use ASchemaClass;
+use AnotherSchemaClass;
-plan tests => 4;
+# reusing the same app for 2 models, gets a redefined warning
+$SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /redefined/ };
ok((my $m = instance(a_schema_option => 'mtfnpy')), 'instance');
is $m->schema->a_schema_option, 'pass the crack pipe', 'delegation works';
+ok(($m = instance(schema_class => 'AnotherSchemaClass')), 'instance');
+
+is $m->resultset('User')->rs_config_option, 'configured rs value',
+ 'ResultSet option passed from config';
+
+done_testing;
+
sub instance {
- Catalyst::Model::DBIC::Schema->COMPONENT('MyApp', {
+ MyApp::Model::DB->COMPONENT('MyApp', {
traits => 'SchemaProxy',
schema_class => 'ASchemaClass',
connect_info => ['dbi:SQLite:foo.db', '', ''],
})
}
-{ package MyApp; use Catalyst; }
+BEGIN {
+ package MyApp;
+ use Catalyst;
+ __PACKAGE__->config({
+ 'Model::DB::User' => {
+ rs_config_option => 'configured rs value',
+ },
+ });
+}
+
+{
+ package MyApp::Model::DB;
+ use base 'Catalyst::Model::DBIC::Schema';
+}