Reorganize CDBICompat tests - centralize prereq checks in one place
[dbsrgits/DBIx-Class.git] / t / cdbi / object_cache.t
CommitLineData
592cd0b1 1use strict;
2use Test::More;
3$| = 1;
4
592cd0b1 5
6INIT {
50891152 7 use lib 't/cdbi/testlib';
592cd0b1 8 use Film;
9}
10
f56e59cd 11plan skip_all => "Object cache is turned off"
12 if Film->isa("DBIx::Class::CDBICompat::NoObjectIndex");
13
14plan tests => 5;
15
16
592cd0b1 17ok +Film->create({
18 Title => 'This Is Spinal Tap',
19 Director => 'Rob Reiner',
20 Rating => 'R',
21});
22
23{
24 my $film1 = Film->retrieve( "This Is Spinal Tap" );
25 my $film2 = Film->retrieve( "This Is Spinal Tap" );
26
27 $film1->Director("Marty DiBergi");
28 is $film2->Director, "Marty DiBergi", 'retrieve returns the same object';
29
30 $film1->discard_changes;
31}
32
33{
34 Film->nocache(1);
8273e845 35
592cd0b1 36 my $film1 = Film->retrieve( "This Is Spinal Tap" );
37 my $film2 = Film->retrieve( "This Is Spinal Tap" );
38
39 $film1->Director("Marty DiBergi");
40 is $film2->Director, "Rob Reiner",
41 'caching turned off';
8273e845 42
592cd0b1 43 $film1->discard_changes;
44}
45
46{
47 Film->nocache(0);
48
49 my $film1 = Film->retrieve( "This Is Spinal Tap" );
50 my $film2 = Film->retrieve( "This Is Spinal Tap" );
51
52 $film1->Director("Marty DiBergi");
53 is $film2->Director, "Marty DiBergi",
54 'caching back on';
55
56 $film1->discard_changes;
57}
58
59
60{
61 Film->nocache(1);
62
63 local $Class::DBI::Weaken_Is_Available = 0;
64
65 my $film1 = Film->retrieve( "This Is Spinal Tap" );
66 my $film2 = Film->retrieve( "This Is Spinal Tap" );
67
68 $film1->Director("Marty DiBergi");
69 is $film2->Director, "Rob Reiner",
70 'CDBI::Weaken_Is_Available turns off all caching';
71
72 $film1->discard_changes;
73}
d9bd5195 74
75done_testing;