webgui/t/Asset/Wobject/SQLForm.t
2007-08-23 02:30:22 +00:00

89 lines
3.2 KiB
Perl

#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2007 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
use FindBin;
use strict;
use File::Spec;
use lib "$FindBin::Bin/../../lib";
##The goal of this test is to test the creation of SQLForm Wobjects.
use WebGUI::Test;
use WebGUI::Session;
use Test::More tests => 10; # increment this value for each test you create
use WebGUI::Asset::Wobject::SQLForm;
my $session = WebGUI::Test->session;
# Do our work in the import node
my $node = WebGUI::Asset->getImportNode($session);
my $versionTag = WebGUI::VersionTag->getWorking($session);
$versionTag->set({name=>"SQLForm Test"});
my $sqlForm = $node->addChild({className=>'WebGUI::Asset::Wobject::SQLForm'});
# Test for a sane object type
isa_ok($sqlForm, 'WebGUI::Asset::Wobject::SQLForm');
# Test to see if we can set new values
my $newSQLFormSettings = {
tableName=>'SQLForm_test',
};
$sqlForm->update($newSQLFormSettings);
foreach my $newSetting (keys %{$newSQLFormSettings}) {
is ($sqlForm->get($newSetting), $newSQLFormSettings->{$newSetting}, "updated $newSetting is ".$newSQLFormSettings->{$newSetting});
}
# Test value that uiLevel returns
my $uiLevel = $sqlForm->uiLevel;
ok($uiLevel eq '9', "UI Level is set to $uiLevel");
# Lets make sure the view method returns something.
# This is not a very good test but I need to do it to test the purgeCache method anyways =)
is ($sqlForm->{_viewTemplate}, undef, 'internal template cache unset until prepareView is called');
my $ac = $sqlForm->getAdminConsoleWithSubmenu;
ok($ac, 'getAdminConsoleWithSubmenu returns a value');
# Lets make sure we can get the edit form
# This could be improved...
my $edit_form = $sqlForm->getEditForm;
ok($edit_form, 'getEditForm returned a value');
ok($edit_form->{_tab}{properties}{form}{_data}, 'getEditForm returned data for the form');
# not sure if this method is even used...grep of source showed no use of this method.
#$indexer = $sqlForm->getIndexerParams;
#$sqlForm->prepareView;
#isnt ($sqlForm->{_viewTemplate}, undef, 'internal template cache set by prepare view');
#isa_ok ($sqlForm->{_viewTemplate}, 'WebGUI::Asset::Template', 'internal template cache');
my $output = $sqlForm->view;
isnt ($output, "", 'view method returns something');
my $editField = $sqlForm->www_editField;
ok($editField, 'www_editField returned a value');
# Lets see if caching works
my $cachedOutput = WebGUI::Cache->new($session, 'view_'.$sqlForm->getId)->get;
#is ($output, $cachedOutput, 'view method caches output');
# Lets see if the purgeCache method works
$sqlForm->purgeCache;
$cachedOutput = WebGUI::Cache->new($session, 'view_'.$sqlForm->getId)->get; # Check cache post purge
isnt ($output, $cachedOutput, 'purgeCache method deletes cache');
END {
# Clean up after thy self
$versionTag->rollback();
}