This request proposes several addition to support automation testing:
a Circle CI configuration file has been added
the configuration builds the project and requires the ES Lint linting rules to pass
the configuration requires syntactically valid Firebase configurations and tests may be evaluated with the Firebase Emulator Suite in a CI environment
A stage is available for headless Cypress component testing
Cypress support has been added with one component test that validates the text provided within the Loader component
npm run test:unit performs unit tests with the Firebase Emulator Suite started
npm run test:cypress performs component testing with Cypress
To assist with development efforts, a common Microsoft GitHub Codespaces development container is introduced in this request with the following features:
In this request, client-side calls to retrieve donations via the the Firebase Firestore API has been refactored into one method, getDonations(). Validating access control now takes place within the method.
Dexie has been included in this request as a dependency for cache management of content like images of user profiles and donated items if IndexedDB is supported client-side. Dexie may also assist with filtering and text search client-side. A strong cache management system and an IndexedDB Polyfill may support automation test development.
This request proposes several addition to support automation testing:
npm run test:unit
performs unit tests with the Firebase Emulator Suite startednpm run test:cypress
performs component testing with CypressTo assist with development efforts, a common Microsoft GitHub Codespaces development container is introduced in this request with the following features:
In this request, client-side calls to retrieve donations via the the Firebase Firestore API has been refactored into one method, getDonations(). Validating access control now takes place within the method.
Dexie has been included in this request as a dependency for cache management of content like images of user profiles and donated items if IndexedDB is supported client-side. Dexie may also assist with filtering and text search client-side. A strong cache management system and an IndexedDB Polyfill may support automation test development.