beginnings of IndexableBy
[dbsrgits/DBIx-Data-Store-old.git] / t / 02indexed_by.t
CommitLineData
9f2b6cc8 1use strict;
2use warnings FATAL => 'all';
3use Test::More;
4use DBIx::Data::Collection::Set::IndexableBy;
5
6BEGIN {
7 package BasicCollection;
8 require 't/01basic_collection.t'
9}
10
11sub setup_db { BasicCollection::setup_db @_ }
12
13sub make_store { BasicCollection::make_store @_ }
14
15sub make_set {
16 BasicCollection::make_set({
17 indexable_by => {
18 name => {
19 set_over => [ 'name' ],
20 store => make_store({
21 select_single_sql => q{SELECT id, name FROM person WHERE name = ?},
22 select_single_argument_order => [ qw(name) ],
23 }),
24 },
25 },
26 },
27 {
28 select_single_sql => q{SELECT id, name FROM person WHERE id = ?},
29 select_single_argument_order => [ qw(id) ],
30 },
31 'DBIx::Data::Collection::Set::IndexableBy'
32 )
33}
34
35
36sub run_tests {
37 my @expect = setup_db;
38 my $set = make_set;
39 use Devel::Dwarn;
40 Dwarn $set->get({ id => 1 });
41 my $by_name = $set->indexed_by('name');
42 Dwarn $by_name->get({ name => 'Pterry' });
43 done_testing;
44}
45
46run_tests unless caller;