-
Notifications
You must be signed in to change notification settings - Fork 8
2.0 New Entity Checklist
Cohen Adair edited this page Dec 7, 2023
·
10 revisions
A checklist and considerations when adding new entities or entity properties.
- Local database changes. This usually means a new table.
- Protobuf changes:
- New message type.
- New message ID to applicable entities, such as
angler_id
being added to theCatch
message.
- More page row.
- New manager class:
- Inherit from correct entity manager (i.e.
NamedEntityManager
,ImageEntityManager
, etc.). - Initialize in
AppManager
. - Override parent methods as needed (i.e.
matchesFilter
,displayName
, etc.).
- Inherit from correct entity manager (i.e.
- Add save page (add/edit functionality).
- Update
UnitsPage
if needed. - Add list page.
- Add entity page (details of a single entity, shown when list item is selected).
- Add to applicable editable form(s), such as a new catch field.
- Ensure new field is tracked by default.
- Add to "Add all" button.
- Add to applicable save forms (i.e.
SaveCatchPage
,SaveReportPage
). - Add to applicable entity pages (i.e.
CatchPage
). - Add to applicable entity
matchesFilter
method. - If added property to
Catch
, updateisolatedFilteredCatches
. - Add to stats feature, if applicable:
- As "Per X" in
CatchSummary
. - As standard report.
- As "Per X" in
- Add new field to
CsvPage
, if applicable. - Add new mock for manager (
mocks.dart
); run./gen_mocks.sh
. - Add new mock manager to
StubbedAppManager
. - Fix any broken tests.
- Update existing tests where applicable.
- Add new tests (note: do pages last so individual widgets are already tested).
- Manually test all changes.