-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Formal test coverage is insufficient #6
Comments
ghost
assigned pond
Jun 7, 2013
pond
added a commit
that referenced
this issue
Oct 15, 2013
Fixed issues #21, #22 and #24. Added many tests to work towards satisfying issue #6 and allow third parties to better verify their database operation. A lot of test data is included which bulks the distribution substantially. Properly implemented access control and in place editing for saved reports; also included reports in audit table data. Reports include optimistic locks now, so that if two users were to edit the same thing simultaneously, the second user to submit the changes would be notified. This is unlikely but a worthwhile and easy addition. Database changes: OpenID URLs are now stored canonicalised in the database and the front-end is much more relaxed in what it accepts. Work packets had a description field but it was never used so has been removed, reducing the database storage requirements. Their commit dates are now simply Dates, not Date/Time objects, which solves issues with database compatibility and simplifies code slightly in a few places. SQLite blank template for "database.yml" included in addition to PostgreSQL. "README.rdoc" mentions this database and provides configuration advice. Misc changes: Fixed timesheet bulk commit bug that stopped it presenting the commit form when certain date conditions arose. Improved audit list model name display. Small efficiency improvement in Control Panel. Modern scope syntax used in Project, with additional validation revealed as necessary by new tests. New useful scopes added to Task for billable and not-billable hours and updated to modern syntax; much more efficient work packet processing therein. Timesheet access permission model tweaked in response to test results; more logical/consistent now (see "README.rdoc"). Test-driven changes to TimesheetRow for robustness in hypothetical future code use cases. Modern scope syntax in User model and some new scopes to aid tests; "has_many" relationship to saved reports, previously overlooked, now added. Dead code stripped from WorkPacket and TrackRecordSections. Documentation updated, especially the main "README.rdoc" file, which should make life easier for new users.
Work in progress, with 0db4015 adding a large number of non-trivial unit tests that significantly improve the situation. Still no helper or integration/functional tests written though. |
Further additions in v2.30, with integration tests now starting to appear in recent versions. |
Integration tests extended to include JavaScript tests via Poltergeist/PhantomJS in v2.31. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
TrackRecord development, as a spare time activity, has focused on getting something working to the specification of Endurance which can be used for real timesheet entry. As such, there hasn't been time for anything beyond user and developer testing. This means that formal framework tests are absent and hideously overdue.
The text was updated successfully, but these errors were encountered: