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

Refactoring the store to use the data dictionary: Phase 1 #251

Closed
23 tasks done
surchs opened this issue Dec 13, 2022 · 3 comments
Closed
23 tasks done

Refactoring the store to use the data dictionary: Phase 1 #251

surchs opened this issue Dec 13, 2022 · 3 comments
Labels
Epic A collection of issues that are related by topic and can be addressed together. maint:refactor Simplifying or restructuring existing code or documentation. type:maintenance Upkeeping efforts & catch-up corrective improvements that are not Features nor Bugs
Milestone

Comments

@surchs
Copy link
Contributor

surchs commented Dec 13, 2022

This Epic tracks progress on implementing the required store methods (getters, actions, mutations, etc) to complete the ongoing store refactor.

We will do this in two phases:

  1. Addressing all changes required by components on the index and categorization page. Once complete, we will confirm success by creating / running an integration test across the two pages (this issue)
  2. Addressing all remaining changes. Once complete, we will confirm success by running additional integration and complete end to end tests (Refactoring the store to use the data dictionary: Phase 2 #305)

Resources:

Here is a great blog post by one of the cypress maintainers on how to unit-test, mock, stub, etc Vuex methods.

There are also some examples for these unit tests in our wiki now: https://github.com/neurobagel/documentation/wiki/Cypress-Test-Snippets

Completion checklist

Every implemented method should have:

  1. the method implemented in the correct section (getter, mutation, ...) in the store
  2. all necessary state variables that the method relies on are initialized in the state (i.e. defined, not assigned real data)
  3. unit test(s) that test the core functionality of the method (required state variables in the store and any other needed inputs should be mocked)
  4. any component that depends on this method existing (check miro board and codebase) is checked to make sure it is calling the new method by the correct name and is refactored (including its component tests) where necessary to do so

Phase 1 - up to Categorization page

With that done, to wrap up we need to do

This phase will be done when

  • our app launches
  • e2e page tests for index and categorization pass (with some adjustments)
@surchs surchs added Epic A collection of issues that are related by topic and can be addressed together. type:maintenance Upkeeping efforts & catch-up corrective improvements that are not Features nor Bugs maint:refactor Simplifying or restructuring existing code or documentation. labels Dec 13, 2022
@jarmoza
Copy link
Contributor

jarmoza commented Dec 14, 2022

Here's a list of the actions/getters/mutations currently listed in our Miro diagram:

actions:

getters:

mutations:

@jarmoza
Copy link
Contributor

jarmoza commented Jan 6, 2023

Linking discussion from UI should always reflect internal annotation state as our refactor of the store will move us toward being able to better keep track of annotations being made to the original data table/data dictionary.

Likely we will want to spin off a subtask for the UI portions of this enhancement.

@surchs surchs added this to the v0.1.0 milestone Jan 10, 2023
@surchs surchs changed the title Refactoring the store to use the data dictionary Refactoring the store to use the data dictionary: Phase 1 Jan 11, 2023
@jarmoza
Copy link
Contributor

jarmoza commented Jan 31, 2023

Closing this as done as of #330. Moving on to phase 2 work in #305.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic A collection of issues that are related by topic and can be addressed together. maint:refactor Simplifying or restructuring existing code or documentation. type:maintenance Upkeeping efforts & catch-up corrective improvements that are not Features nor Bugs
Projects
Archived in project
Development

No branches or pull requests

2 participants