Commit graph

52 commits

Author SHA1 Message Date
Colin Kuskie
6c3369d0cb Revert "use temp config file for testing"
This reverts commit 9b725c6d42.
2010-06-14 15:19:54 -07:00
Graham Knop
9b725c6d42 use temp config file for testing 2010-06-10 10:09:54 -05:00
Graham Knop
fe1ac66cca remove useless test END blocks 2010-06-10 10:09:45 -05:00
Patrick Donelan
280e902c09 Fixes to Survey reporting and performance improvements
Fix: Survey export simple/transposed results to csv or tab
Fix: loadTempReportTable handling of revisionDates (and documentation)
Fix: returnResponseForReporting handling of mc questions
NYTProf performance improvements
Added some very basic Survey reporting tests
2009-08-23 05:15:32 +00:00
Patrick Donelan
146373937d Fixed two new Survey bugs
* Survey response startDate stored twice
startDate was being stored both in a column in Survey_response and also inside the
serialised responseJSON. Consolidated to column and moved startDate methods to
Survey.pm where they are actually used. Was not causing errors because both copies
were initialised to "now" at response creation time, and then never changed (this is also
why we don't need any repair code to fix existing survey repsonses in the wild).

* Survey ExpireIncompleteSurveyResponses Workflow Activity not enabled
The only time you'd actually want to modify startDate is when you're trying to simulate
response expiry in test code, which is why I found the above bug when I was writing the
missing test suite for ExpireIncompleteSurveyResponses. Along with test suite, added
upgrade code to enable workflow activity and add it  to the Daily Maintenance Tasks
workflow. Also made minor fixes to the workflow activity, such as making sure it uses
the correct isComplete code.
2009-08-07 01:08:39 +00:00
Patrick Donelan
9702ffcaac Fixed Survey section-level branch precedence bug
For Sections with questions spread out over multiple pages, branch
expressions should only happen on the last page of the Section.
Added explicit test.
2009-06-03 02:12:00 +00:00
Patrick Donelan
da595da89e Remove bloat from Survey response record to reduce json serialisation time 2009-06-03 02:11:31 +00:00
Patrick Donelan
216a48580a Fixed #9927 Survey - verbatim
Fixed inconsistencies between answer 'comment' and 'verbatim'.
Updated tests.
Made minor changes to reporting methods but they still need some love.
2009-06-03 00:29:29 +00:00
Patrick Donelan
beff1d2166 Survey NYTProf performance improvements
initSurveyOrder now builds a lookup cache to speed up branching
Test suite caches surveyOrder and response itself
Unnecessary sub calls reduced
Updated tests
My largest survey instance test suite, which contains > 1000 tests,
now runs nearly 8 times faster.
2009-05-28 07:24:11 +00:00
Patrick Donelan
d14cf19e9d Added Survey tests for more question types 2009-05-28 07:23:43 +00:00
Patrick Donelan
3a25e806c6 Survey bug fixes
Fixed bugs in the handling of logical sections,
creating of responses and counting of responses.
Added in a bunch of new tests.
Jslinting of all survye js files
2009-05-23 09:54:03 +00:00
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