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

pond opened this Issue Jun 7, 2013 · 3 comments


1 participant

pond commented Jun 7, 2013

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.

@ghost ghost assigned pond Jun 7, 2013

pond added a commit that referenced this issue Oct 15, 2013

This is TrackRecord version 2.24, for Rails 3.2.
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.

This comment has been minimized.


pond commented Oct 16, 2013

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.


This comment has been minimized.


pond commented Apr 4, 2014

Further additions in v2.30, with integration tests now starting to appear in recent versions.

@pond pond modified the milestones: 2.3.1, 2.3 Apr 4, 2014

@pond pond changed the title from There are no formal tests to Formal test coverage is insufficient May 14, 2014


This comment has been minimized.


pond commented May 24, 2014

Integration tests extended to include JavaScript tests via Poltergeist/PhantomJS in v2.31.

@pond pond added this to To do in Rails 5 Feb 11, 2018

@pond pond modified the milestones: 2.31, 3.00 Feb 11, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment