Functional tests aren't just a good idea — for a project like this one, with disjointed packages (and, eventually, across multiple languages), they're particularly vital.
We should be able to automate the process of provisioning an environment, building the test scenario, and running its functional tests. The tests themselves could live in server, and take advantage of the history application's models; or, they could live on their own (at project root), and history be moved to root as well (such that tests can use the models, and sort of as suggested in another issue: #13); but I'd suggest the tests just live entirely on their own, with no dependence on any part of the code they're testing, (and requiring no changes to the existing projects) — the tests can use SQL, and/or run assertions against the user frontend (once that exists).
Functional tests aren't just a good idea — for a project like this one, with disjointed packages (and, eventually, across multiple languages), they're particularly vital.
We should be able to automate the process of provisioning an environment, building the test scenario, and running its functional tests. The tests themselves could live in
server
, and take advantage of thehistory
application's models; or, they could live on their own (at project root), andhistory
be moved to root as well (such that tests can use the models, and sort of as suggested in another issue: #13); but I'd suggest the tests just live entirely on their own, with no dependence on any part of the code they're testing, (and requiring no changes to the existing projects) — the tests can use SQL, and/or run assertions against the user frontend (once that exists).