new config key for injected comps
[catagits/Catalyst-Runtime.git] / t / configured_comps.t
index 1cc0d1a..cfd4aea 100644 (file)
@@ -4,12 +4,19 @@ use HTTP::Request::Common;
 use Test::More;
 
 {
+  package TestRole;
+
+  use Moose::Role;
+
+  sub role { 'role' }
+  
   package Local::Model::Foo;
 
   use Moose;
   extends 'Catalyst::Model';
 
   has a => (is=>'ro', required=>1);
+  has b => (is=>'ro');
 
   sub foo { shift->a . 'foo' }
 
@@ -62,10 +69,11 @@ use Test::More;
 
   sub user :Local Args(1) {
     my ($self, $c, $int) = @_;
-    my $user = $c->model("User")->find($int);
-
-     $c->model("User")->zoo->a;
     
+    Test::More::ok(my $user = $c->model("User")->find($int));
+    Test::More::is($c->model("User")->zoo->a, 2);
+    Test::More::is($c->model("Foo")->role, 'role');
+   
     $c->res->body("name: $user->{name}, age: $user->{age}");
   }
 
@@ -80,19 +88,14 @@ use Test::More;
   use Catalyst;
 
   MyApp->config({
-    'Controller::Err' => {
-      from_component => 'Local::Controller::Errors',
-      args => { a=> 100, b => 200, namespace =>'error' },
+    inject_components => {
+      'Controller::Err' => { from_component => 'Local::Controller::Errors' },
+      'Model::Zoo' => { from_component => 'Local::Model::Foo' },
+      'Model::Foo' => { from_component => 'Local::Model::Foo', roles => ['TestRole'] },
     },
-    'Model::Zoo' => {
-      from_component => 'Local::Model::Foo',
-      args => {a=>2},
-    },
-    'Model::Foo' => {
-      from_component => 'Local::Model::Foo',
-      args => { a=> 100 },
-    },
-
+    'Controller::Err' => { a => 100, b=>200, namespace=>'error' },
+    'Model::Zoo' => { a => 2 },
+    'Model::Foo' => { a => 100 },
   });
 
   MyApp->setup;