aboutsummaryrefslogtreecommitdiffstats
path: root/t/lib/RTest/InterfaceModel/DBIC.pm
diff options
context:
space:
mode:
Diffstat (limited to 't/lib/RTest/InterfaceModel/DBIC.pm')
-rw-r--r--t/lib/RTest/InterfaceModel/DBIC.pm140
1 files changed, 0 insertions, 140 deletions
diff --git a/t/lib/RTest/InterfaceModel/DBIC.pm b/t/lib/RTest/InterfaceModel/DBIC.pm
deleted file mode 100644
index 3a2bf57..0000000
--- a/t/lib/RTest/InterfaceModel/DBIC.pm
+++ /dev/null
@@ -1,140 +0,0 @@
-package RTest::InterfaceModel::DBIC;
-
-use base qw/Reaction::Test::WithDB Reaction::Object/;
-use Reaction::Class;
-use ComponentUI::TestModel;
-use Test::More ();
-
-has '+schema_class' => (default => sub { 'RTest::TestDB' });
-
-has im_schema => (is =>'ro', isa => 'ComponentUI::TestModel', lazy_build => 1);
-sub build_im_schema{
- my $self = shift;
-
- my (@dm) = ComponentUI::TestModel->domain_models;
- Test::More::ok(@dm == 1, 'Correct number of Domain Models');
- my $dm = shift @dm;
- Test::More::ok($dm->name eq '_testdb_schema', 'Domain Model created correctly');
-
- ComponentUI::TestModel->new($dm->name => $self->schema);
-}
-
-sub test_SchemaClass :Tests {
- my $self = shift;
- my $s = $self->im_schema;
-
- #just make sure here...
- Test::More::isa_ok( $s, 'Reaction::InterfaceModel::Object',
- 'Correctly override default base object' );
-
- my %pa = map{$_->name => $_ } $s->parameter_attributes;
- Test::More::ok(keys %pa == 3, 'Correct number of Parameter Attributes');
-
- Test::More::ok($pa{Foo} && $pa{'Bar'} && $pa{'Baz'},
- 'Parameter Attributes named correctly');
-
- #for now since we have no generic collection object
- Test::More::ok
- ( $pa{Foo}->_isa_metadata eq 'Reaction::InterfaceModel::DBIC::Collection',
- 'Parameter Attributes typed correctly' );
-
- Test::More::is($pa{Baz}->reader, 'bazes', 'Correct Baz reader created');
- Test::More::is($pa{Foo}->reader, 'foo_collection', 'Correct Foo reader created');
- Test::More::is($pa{Bar}->reader, 'bar_collection', 'Correct Bar reader created');
-
- #is this check good enough? Moose will take care of checking the type constraints,
- # so i dont need tocheck that Moose++ !!
- my $foo1 = $s->foo_collection;
- my $foo2 = $s->foo_collection;
- Test::More::ok
- (Scalar::Util::refaddr($foo1) ne Scalar::Util::refaddr($foo2),
- 'Fresh Collections work');
-}
-
-sub test_ObjectClass :Tests {
- my $self = shift;
-
- my $collection = $self->im_schema->foo_collection;
- Test::More::ok( my $im = $collection->find({ id => 1}), 'Find call successful');
-
- Test::More::isa_ok( $im, 'ComponentUI::TestModel::Foo',
- 'Correct result class set' );
-
- my %pa = map{$_->name => $_ } $im->parameter_attributes;
- Test::More::ok(keys %pa == 4, 'Correct number of Parameter Attributes');
-
- Test::More::is( $pa{first_name}->_isa_metadata, 'NonEmptySimpleStr'
- ,'Column ParameterAttribute typed correctly');
-
- Test::More::is
- ($pa{baz_list}->_isa_metadata, 'Reaction::InterfaceModel::DBIC::Collection',
- "Relationship detected successfully");
-
- my (@dm) = $im->domain_models;
- Test::More::ok(@dm == 1, 'Correct number of Domain Models');
- my $dm = shift @dm;
- Test::More::is($dm->name, '_foo_store', 'Domain Model created correctly');
-
- my $rs = $collection->_override_action_args_for->{target_model};
- Test::More::isa_ok( $rs, 'DBIx::Class::ResultSet',
- 'Collection target_type ISA ResultSet' );
-
- my $row = $im->_default_action_args_for->{target_model};
- Test::More::isa_ok( $row, 'DBIx::Class::Row', 'Collection target_type ISA Row' );
-
- my $ctx = $self->simple_mock_context;
-
- my $create = $collection->action_for('Create', ctx => $ctx);
- Test::More::isa_ok( $create, 'Reaction::InterfaceModel::Action',
- 'Create action isa Action' );
-
- Test::More::isa_ok( $create, 'ComponentUI::TestModel::Foo::Action::Create',
- 'Create action has correct name' );
-
- Test::More::isa_ok
- ( $create, 'Reaction::InterfaceModel::Action::DBIC::ResultSet::Create',
- 'Create action isa Action::DBIC::ResultSet::Create' );
-
-
- my $update = $im->action_for('Update', ctx => $ctx);
- Test::More::isa_ok( $update, 'Reaction::InterfaceModel::Action',
- 'Update action isa Action' );
-
- Test::More::isa_ok( $update, 'ComponentUI::TestModel::Foo::Action::Update',
- 'Update action has correct name' );
-
- Test::More::isa_ok
- ( $update, 'Reaction::InterfaceModel::Action::DBIC::Result::Update',
- 'Update action isa Action::DBIC::ResultSet::Update' );
-
- my $delete = $im->action_for('Delete', ctx => $ctx);
- Test::More::isa_ok( $delete, 'Reaction::InterfaceModel::Action',
- 'Delete action isa Action' );
-
- Test::More::isa_ok( $delete, 'ComponentUI::TestModel::Foo::Action::Delete',
- 'Delete action has correct name' );
-
- Test::More::isa_ok
- ( $delete, 'Reaction::InterfaceModel::Action::DBIC::Result::Delete',
- 'Delete action isa Action::DBIC::ResultSet::Delete' );
-
-
- my $custom = $im->action_for('CustomAction', ctx => $ctx);
- Test::More::isa_ok( $custom, 'Reaction::InterfaceModel::Action',
- 'CustomAction isa Action' );
-
- Test::More::isa_ok( $custom, 'ComponentUI::TestModel::Foo::Action::CustomAction',
- 'CustomAction has correct name' );
-
- my %params = map {$_->name => $_ } $custom->parameter_attributes;
- Test::More::ok(exists $params{$_}, "Field ${_} reflected")
- for qw(first_name last_name baz_list);
-
- #TODO -- will I need a mock $c object or what? I dont really know much about
- # testingcat apps, who wants to volunteer?
- # main things needing testing is attribute reflection
- # and correct action class creation (superclasses)
-}
-
-
-1;