Commit graph

41 commits

Author SHA1 Message Date
Patrick Donelan
7829d708ea Survey test suite now functional.
Tests are defined via a JSON-encoded spec, through Web Crud interface
Test results are TAP encoded, and TAP parsed and prettified into HTML
Added i18n, help and tests
2009-05-15 10:33:47 +00:00
Patrick Donelan
79db642219 Refactored Survey for more happy endings
Refactored www_submitQuestions to use utility submitQuestions sub (for ease of testing)
Replaced numeric flags, completedCode etc..
Added restart() and exitUrl() to the Expression Engine
Added more Survey instance tests
2009-05-12 12:36:26 +00:00
Patrick Donelan
7a3ecea4bb Survey Expressions can now access verbatim values 2009-05-11 06:55:13 +00:00
Patrick Donelan
cf98c81461 Fixed Survey's handling of multi-answer questions (e.g. maxAnswers != 1)
Now stores all supplied answers to multi-answer question as arrayref
Variable [[var]] text replacement converts to comma-separated list
Expression Engine's value() returns appropriate value depending on context
Expression Engine's score() does sum of multi-answers, as you would expect
Updated related i18n & hover-help, and tests
Cleaned up survey js somewhat
2009-05-08 08:00:04 +00:00
Patrick Donelan
f3ed30d939 Refactored Survey ExpressionEngine tag() util into tag() setter and tagged() accessor.
Updated i18n to reflect the fact that min/max/step are used for all numeric types, not just slider.

Also updated textCols/Rows i18n.
2009-05-06 05:53:10 +00:00
Patrick Donelan
3dda2b49d4 Survey Branch Expressions now allow you to "tag" data along the way and store
it in the response data structure along with the actual user input. Tag data
can be used in subsequent expressions, in [[tag]] templated text replacement,
and to classify responses in an arbitrary way.

Refactored Survey expression utility subs that lookup values/scores/tags in
external assets.

Fixed bug whereby only highest precedence Survey expression was being evaluated
rather than letting them all run and do their own short-circuiting.
2009-05-04 06:28:05 +00:00
Patrick Donelan
ac1a00b252 Survey Branch Expressions can now test whether a question
has been reached/answered, rather than just testing for the value
of a response
2009-05-04 04:06:40 +00:00
Patrick Donelan
5e9db959ad Added another Survey ResponseJSON test 2009-04-24 03:43:40 +00:00
Patrick Donelan
6c58e1de81 Added Survey meta-targets NEXT_SECTION and END_SURVEY to allow for more
convenient jumping
Improved processGotoExpression tests
2009-04-22 07:19:23 +00:00
Patrick Donelan
99855719d0 Survey bug fixes: Verbatim responses now properly recorded
Added useText option to responseValuesByVariableName so that it can be
used for both branch expressions and [[var]] text substitution correctly
Added extra verbatim handling to [[var]] text substitution
All survey test now pass, except for one involving True/False
multi-chocie bundle, soon to be fixed by updating bundle
2009-04-22 05:16:29 +00:00
Patrick Donelan
c3ea6d4683 Added Survey back button, with option to turn it on/off, tests, and i18n
Noticed that some Survey tests are broken, will fix tomorrow
2009-04-21 07:12:07 +00:00
Patrick Donelan
a7cb9b031d Made Survey ExpressionEngine disabled by default, controlled via config
file enableSurveyExpressionEngine flag
Added branching based on question score and section score total
Added more tests
2009-04-08 08:12:44 +00:00
Patrick Donelan
9ea4f1cd20 Replaced Survey parseGotoExpression with dedicated ExpressionEngine.
Improved gotoExpression validation error reporting
Added lots more tests
2009-04-08 08:12:14 +00:00
Patrick Donelan
c1b18ea9bb Some fixes to the way Survey handles recordedAnswer, value, etc.. 2009-04-07 07:15:33 +00:00
Patrick Donelan
be4133d72c Improved Survey validation messages 2009-04-02 05:04:23 +00:00
Patrick Donelan
654f8d6b72 Rewrote Survey gotoExpression tests now that we have perl power in
expressions
2009-04-02 01:54:21 +00:00
Patrick Donelan
3d70a213cc Made Survey branch expressions eval in safe compartment 2009-04-02 01:53:58 +00:00
Kaleb Murphy
f85c9fa8f8 Rolling back inadverent changes. 2009-03-31 04:12:23 +00:00
Kaleb Murphy
e73a7645a7 Survey now shows warnings if bad goto, bad gotoExpressions, no question text, survey looping,
or no question answers are found.
2009-03-31 04:08:44 +00:00
Colin Kuskie
12c5b14ab4 Handle different random sort orders on different machines. 2009-03-12 21:12:21 +00:00
Patrick Donelan
50091e8e3a Started working on Survey Multiple Choice bundle management. 2009-02-16 00:13:58 +00:00
Patrick Donelan
d882181fd1 Started refactoring the Survey.pm Wobject class
Refactored www_jumpTo and added tests
Added Params::Validate
Improved docs
Made call to SurveyJSON->createSurveyOrder() unnecessary
Turned ResponseJSON->nextResponse a mutator
2009-02-11 09:25:42 +00:00
Patrick Donelan
306502465c Started refactoring nextQuestions in ResponseJSON
Made perlcritic happier
Extracted getQuestionResponses from processGotoExpression
Eliminated getPreviousAnswer
2009-02-06 01:56:54 +00:00
Patrick Donelan
345989370f Renamed ResponseJSON branching methods 2009-02-06 01:56:18 +00:00
Patrick Donelan
932a033b58 More ResponseJSON refactoring
Removed unnecessary $session argument from recordResponses
Refactored nextQuestions to return a list rather than an arrayref
Lots more documentation for ResponseJSON
More param validation for ResponseJSON
Refactored recordResponses
Updated tests
2009-02-06 01:55:56 +00:00
Patrick Donelan
90d314d2f1 Refactored next/last response/section related accessors and mutators
(and tests).

Added more documentation.
2009-02-06 01:55:33 +00:00
Patrick Donelan
669e986189 Replaced ResponseJSON's implementation of shuffle with List::Util's
shuffle and updated Colin's ninja shuffle tests
2009-02-04 02:05:44 +00:00
Patrick Donelan
66a2adcbe5 Moved ResponseJSON data hash to private variable, for security and
consistency with SurveyJSON

Added some more accessors/mutators, and param validation
2009-02-03 08:32:40 +00:00
Patrick Donelan
821635eb71 Refactored ResponseJSON and SurveyJSON
Added Params::Validate to ResponseJSON.pm
Refactored ResponseJSON constructor and re-ordered params for
consistency
Added new ->session accessor
Updates tests
Removed unnecessary logging methods
Further refactored SurveyJSON, gave private variables underscores,
replaced direct hash access with accessors
2009-02-03 08:31:43 +00:00
Patrick Donelan
d00c8661f3 Made first argument to SurveyJSON contructor $session for consistency
with rest of wg.

Also added Params::Validate validation.
2009-02-03 08:31:07 +00:00
Patrick Donelan
34b44def2f Added gotoExpression tests (from flux branch) 2009-01-14 06:14:37 +00:00
Patrick Donelan
fc3851705a Implemented Survey branching expressions (#9233). Woot! 2008-12-15 10:25:44 +00:00
Colin Kuskie
941240370b Add a mutator for questionsAnswered, with tests.
Correct POD for recordResponses.
Begin recordResponses answer processing tests.
2008-12-15 00:09:03 +00:00
Colin Kuskie
aa04599aec recordResponse tests (just a few)
Fix a bug where if a section is terminal, and has no questions, it did not return the terminal flag as true.
A little recordResponse POD.
2008-12-13 03:56:26 +00:00
Colin Kuskie
aafd5e5a2e goto tests. 2008-12-12 23:33:45 +00:00
Colin Kuskie
574d6cf036 nextQuestions tests.
Add POD, and make sure that answers returned by nextQuestions are safe refs.
2008-12-12 19:27:12 +00:00
Colin Kuskie
98294e4e78 Add tests for nextSectionid, nextSection, currentSection.
Add more POD to ResponseJSON
2008-12-12 00:36:08 +00:00
Colin Kuskie
c60393e44a Tests for createSurveyOrder and shuffle.
POD for several methods.
2008-12-12 00:03:16 +00:00
Colin Kuskie
1c1f01d473 Change ResponseJSON to use a proper mutator for startTime.
Add tests for startTime.
Survey uses the accessor, and no longer needs to manually set startTime.
2008-12-11 19:45:19 +00:00
Colin Kuskie
08bf6b5147 Flesh out the ResponseJSON test more. Add POD. 2008-12-10 02:25:42 +00:00
Colin Kuskie
63646aa497 rename test 2008-11-28 17:25:40 +00:00
Renamed from t/Asset/Wobject/Survey/SurveyResponse.t (Browse further)