Commit | Line | Data |
9f2b6cc8 |
1 | use strict; |
2 | use warnings FATAL => 'all'; |
3 | use Test::More; |
4 | use DBIx::Data::Collection::Set::IndexableBy; |
5 | |
6 | BEGIN { |
7 | package BasicCollection; |
8 | require 't/01basic_collection.t' |
9 | } |
10 | |
11 | sub setup_db { BasicCollection::setup_db @_ } |
12 | |
13 | sub make_store { BasicCollection::make_store @_ } |
14 | |
15 | sub 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 | |
36 | sub 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 | |
46 | run_tests unless caller; |