Moved Survey.pm's "survey" and "response" properties to private hash
vars and added accessors.
So that you don't end up with mind-bending code that looks like:
$survey->survey->{survey}
This commit is contained in:
parent
316d133a02
commit
8d7599d781
2 changed files with 64 additions and 64 deletions
|
|
@ -39,23 +39,23 @@ isa_ok($survey, 'WebGUI::Asset::Wobject::Survey');
|
|||
|
||||
# Load bare-bones survey, containing a single section (S0)
|
||||
$survey->loadSurveyJSON();
|
||||
$survey->survey->update([0], { variable => 'S0' });
|
||||
$survey->surveyJSON->update([0], { variable => 'S0' });
|
||||
|
||||
# Add 2 questions to S0
|
||||
$survey->survey->newObject([0]); # S0Q0
|
||||
$survey->survey->update([0,0], { variable => 'S0Q0' });
|
||||
$survey->survey->newObject([0]); # S0Q1
|
||||
$survey->survey->update([0,1], { variable => 'S0Q1' });
|
||||
$survey->surveyJSON->newObject([0]); # S0Q0
|
||||
$survey->surveyJSON->update([0,0], { variable => 'S0Q0' });
|
||||
$survey->surveyJSON->newObject([0]); # S0Q1
|
||||
$survey->surveyJSON->update([0,1], { variable => 'S0Q1' });
|
||||
|
||||
# Add a new section (S1)
|
||||
$survey->survey->newObject([]); # S1
|
||||
$survey->survey->update([1], { variable => 'S1' });
|
||||
$survey->surveyJSON->newObject([]); # S1
|
||||
$survey->surveyJSON->update([1], { variable => 'S1' });
|
||||
|
||||
# Add 2 questions to S1
|
||||
$survey->survey->newObject([1]); # S1Q0
|
||||
$survey->survey->update([1,0], { variable => 'S1Q0' });
|
||||
$survey->survey->newObject([1]); # S1Q1
|
||||
$survey->survey->update([1,1], { variable => 'S1Q1' });
|
||||
$survey->surveyJSON->newObject([1]); # S1Q0
|
||||
$survey->surveyJSON->update([1,0], { variable => 'S1Q0' });
|
||||
$survey->surveyJSON->newObject([1]); # S1Q1
|
||||
$survey->surveyJSON->update([1,1], { variable => 'S1Q1' });
|
||||
|
||||
# Persist to db
|
||||
$survey->saveSurveyJSON();
|
||||
|
|
@ -64,7 +64,7 @@ $survey->saveSurveyJSON();
|
|||
$session->user( { userId =>3 } );
|
||||
$survey->getResponseId( { noCookie => 1 }); # triggers loadBothJSON()
|
||||
|
||||
#for my $address (@{ $survey->response->surveyOrder }) {
|
||||
#for my $address (@{ $survey->responseJSON->surveyOrder }) {
|
||||
# diag (Dumper $address);
|
||||
#}
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ $survey->getResponseId( { noCookie => 1 }); # triggers loadBothJSON()
|
|||
# Check a simple www_jumpTo request
|
||||
WebGUI::Test->getPage( $survey, 'www_jumpTo', { formParams => {id => '0'} } );
|
||||
is( $session->http->getStatus, '201', 'Page request ok' ); # why is "201 - created" status used??
|
||||
is($survey->response->nextResponse, 0, 'S0 is the first response');
|
||||
is($survey->responseJSON->nextResponse, 0, 'S0 is the first response');
|
||||
|
||||
tie my %expectedSurveyOrder, 'Tie::IxHash';
|
||||
%expectedSurveyOrder = (
|
||||
|
|
@ -88,7 +88,7 @@ $survey->getResponseId( { noCookie => 1 }); # triggers loadBothJSON()
|
|||
while (my ($id, $index) = each %expectedSurveyOrder) {
|
||||
WebGUI::Test->getPage( $survey, 'www_jumpTo', { formParams => {id => $id} } );
|
||||
$survey->loadSurveyJSON();
|
||||
is($survey->response->nextResponse, $index, "jumpTo($id) sets nextResponse to $index");
|
||||
is($survey->responseJSON->nextResponse, $index, "jumpTo($id) sets nextResponse to $index");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue