Skip to content
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

Resolver based services abstraction for data access #61

Merged
merged 14 commits into from
Jun 17, 2022
Merged

Conversation

allanlang
Copy link
Collaborator

@allanlang allanlang commented Jun 4, 2022

Key changes made in this PR include:

  • Configuration of a dependency injection regime based on Resolver, for the management of key components and injection where these are required. This provides a centralised mechanism by which components can be swapped out for alternate implementations to support testability for example
  • Creation of new services for Sites, Species and Supervisors which manage all database and API interactions required to get and modify (where appropriate) these entities. This helps to remove data access logic from models
  • Creation of integration tests for the AirtableSiteService, covering fetching and adding of new sites, and tests to ensure local cache is updated as expected
  • Extension of Secrets to include new secrets for alternate Airtable base and table structures to be used specifically during execution of unit tests - this is important as otherwise our unit tests would write to our production tables, causing chaos
  • Small updates to GitHub Actions flow to supply the test specific Airtable secrets during build/test

@allanlang allanlang marked this pull request as ready for review June 10, 2022 14:42
@allanlang allanlang merged commit 72418d6 into main Jun 17, 2022
@allanlang allanlang deleted the al/resolver branch June 17, 2022 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant