#!/usr/bin/env perl use warnings; use strict; use Jifty::Test::Dist tests => 15; use Jifty::Test::WWW::Mechanize; # Make sure we can load the models use_ok('TestApp::Model::Author'); use_ok('TestApp::Model::Book'); # Grab a system user my $system_user = TestApp::CurrentUser->superuser; ok($system_user, "Found a system user"); # Create an author my $o = TestApp::Model::Author->new(current_user => $system_user); my ($id) = $o->create( name => 'Author One' ); ok($id, "Author create returned success"); ok($o->id, "New Author has valid id set"); is($o->id, $id, "Create returned the right id"); # And another $o->create( name => 'Author Two' ); ok($o->id, "Author create returned another value"); isnt($o->id, $id, "And it is different from the previous one"); # Check we really have 2 author records created my $collection = TestApp::Model::AuthorCollection->new(current_user => $system_user); $collection->unlimit; is($collection->count, 2, "Finds two records"); # start a server my $server = Jifty::Test->make_server; ok($server, 'got a server'); my $url = $server->started_ok; my $mech = Jifty::Test::WWW::Mechanize->new; $mech->get_ok($url . '/__jifty/admin/model/Book', 'try getting /__jifty/admin/model/Book'); my $mon = $mech->moniker_for('TestApp::Action::CreateBook'); ok($mon, 'grab the form moniker'); TODO: { local $TODO = "virtual columns need to be sorted out"; ok($mech->action_field_value($mon, 'author'), 'check for author field'); # Silencing warnings suck, but it IS a todo block local $SIG{__WARN__} = sub { 'IGNORE' }; ok($mech->select("J:A:F-author-$mon", $id), 'select 1st author'); }