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

ViTest: Unit Testing Setup/Config/Utils and Ongoing Refactoring #1623

Conversation

cameron-eyds
Copy link
Collaborator

Issue #: /bcgov/entity#16987

Description of changes:

  • Updated Configurations for Vitest
  • Refactored createComponent function to setup ALL our unit tests with. This along with our setup file should create a mockable environment to stage all unit tests with.
  • Ongoing Unit test refactoring and misc clean up items found as a result of testing.
  • Removes jestRunning techdebt

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the PPR license (Apache 2.0).

@cameron-eyds cameron-eyds self-assigned this Nov 17, 2023
Copy link
Collaborator

@dimak1 dimak1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

},
plugins: ['vue'],
extends: [
'plugin:vuetify/base',
'plugin:vue/vue3-recommended',
'@vue/typescript/recommended'
'@vue/typescript/recommended',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are now using trailing commas?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, probably just some linter confusion, i'll run it again.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kind of funny, the linter didn't lint it's own config file.

@@ -232,7 +228,7 @@ export default defineComponent({
// do not proceed if app is not ready
if (!val) return
// redirect if not authenticated (safety check - should never happen) or if app is not open to user (ff)
if (!isAuthenticated.value || (!props.isJestRunning && !getFeatureFlag('ppr-ui-enabled'))) {
if (!isAuthenticated.value || !getFeatureFlag('ppr-ui-enabled')) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the deal with removing jestRunning check?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jest is gone and this is cumbersome tech-debt to be honest.
Not sure we should code in conditions to support unit testing when we can either..
a) mock functionality or components that may be problematic in tests
b) setup the test env properly so that these conditions are not an issue, ie setting the default flags in our setup for example.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, no jest anymore.. I didn't like to have a check if test is running in the code anyway.
I like the option b.

})

// Mock the WysiwygEditor component
vi.mock('@/components/common/WysiwygEditor.vue', () => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just an example/placeholder or we need a mocked editor before all tests?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats correct, this is a mocked editor. Will probably refine this to mock just the imported package (we shouldn't need to unit test imported code) or mock the functions that cause the breakage in the unit test env.

@cameron-eyds cameron-eyds merged commit 822fc69 into bcgov:Vue3-Upgrade-Feature-Branch Nov 20, 2023
cameron-eyds added a commit to cameron-eyds/ppr that referenced this pull request Nov 20, 2023
…v#1623)

* Ongoing Unit Test fixes

* Ongoing PPR Test fixes - Includes base setup - solves most complexity - now test fixes

* more test config updates and unit test fixes

* button-footer rework

* Further Testing updates - Up to Debtors

* continued testing updates DischargeReg

* Tests up to EditTrust and more cleanup

* PR CleanUP

* Few more tests - up to FeeSummary

* FeeSummary test

* Lint update

* fee summary file clean up
cameron-eyds added a commit to cameron-eyds/ppr that referenced this pull request Nov 20, 2023
…v#1623)

* Ongoing Unit Test fixes

* Ongoing PPR Test fixes - Includes base setup - solves most complexity - now test fixes

* more test config updates and unit test fixes

* button-footer rework

* Further Testing updates - Up to Debtors

* continued testing updates DischargeReg

* Tests up to EditTrust and more cleanup

* PR CleanUP

* Few more tests - up to FeeSummary

* FeeSummary test

* Lint update

* fee summary file clean up
cameron-eyds added a commit that referenced this pull request Nov 20, 2023
* Vue3 Build (#1594)

* Vue3/Vuetify3/Vite-Build

* wip: Up to Searches

* wip: Search Features

* Wip: PPR Search Done - Onto Mhr Search Results

* Refactors generally completed on PPR/MHR Searches and history

* CI Updates

* update dockerfil

* revert docker file udpates

* docker change reverse

* Docker update

* docker node version update

* last attempt at ci build

* vue-affix removal

* Lint Fixes

* lint config updates

* Modernized Linting for Vue and Typescript -- Applied non functional fixes

* Updated vue declaration

* Vuetify and component updates - PRR (#1609)

* base dialog and Staff Payment instances updated

* ongoing PPR Table work

* Ongoin PPR Registrations/Amendment updates

* Ongoing PPR Reg - Includes stepper, footers, Bus Search, Base Address

* Ppr Registrations Happy Path

* Chips and other misc fixes for Amendments

* Vuetify Fixes for MHR and Misc Features (#1615)

* Mhr Registrations Happy Path

* Ongoing Registration Table Improvements

* User access Start, some more table clean up

* User Access Fixes + more table updates

* Cleaned up Tables Sorting

* Further Transfer and Unit Note Adjustments

* Masking fixes and replacements

* Date Pickers and misc styling adjustments

* Lint Sweeps and camelCase enforcement

* Reg Table Fix and command revert

* Further DatePicker Updates

* ViTest: Unit Testing Setup/Config/Utils and Ongoing Refactoring (#1623)

* Ongoing Unit Test fixes

* Ongoing PPR Test fixes - Includes base setup - solves most complexity - now test fixes

* more test config updates and unit test fixes

* button-footer rework

* Further Testing updates - Up to Debtors

* continued testing updates DischargeReg

* Tests up to EditTrust and more cleanup

* PR CleanUP

* Few more tests - up to FeeSummary

* FeeSummary test

* Lint update

* fee summary file clean up

* Sync Clean Up

* Ongoing test work

* Delete .idea directory
cameron-eyds added a commit to cameron-eyds/ppr that referenced this pull request Dec 4, 2023
* Vue3 Build (bcgov#1594)

* Vue3/Vuetify3/Vite-Build

* wip: Up to Searches

* wip: Search Features

* Wip: PPR Search Done - Onto Mhr Search Results

* Refactors generally completed on PPR/MHR Searches and history

* CI Updates

* update dockerfil

* revert docker file udpates

* docker change reverse

* Docker update

* docker node version update

* last attempt at ci build

* vue-affix removal

* Lint Fixes

* lint config updates

* Modernized Linting for Vue and Typescript -- Applied non functional fixes

* Updated vue declaration

* Vuetify and component updates - PRR (bcgov#1609)

* base dialog and Staff Payment instances updated

* ongoing PPR Table work

* Ongoin PPR Registrations/Amendment updates

* Ongoing PPR Reg - Includes stepper, footers, Bus Search, Base Address

* Ppr Registrations Happy Path

* Chips and other misc fixes for Amendments

* Vuetify Fixes for MHR and Misc Features (bcgov#1615)

* Mhr Registrations Happy Path

* Ongoing Registration Table Improvements

* User access Start, some more table clean up

* User Access Fixes + more table updates

* Cleaned up Tables Sorting

* Further Transfer and Unit Note Adjustments

* Masking fixes and replacements

* Date Pickers and misc styling adjustments

* Lint Sweeps and camelCase enforcement

* Reg Table Fix and command revert

* Further DatePicker Updates

* ViTest: Unit Testing Setup/Config/Utils and Ongoing Refactoring (bcgov#1623)

* Ongoing Unit Test fixes

* Ongoing PPR Test fixes - Includes base setup - solves most complexity - now test fixes

* more test config updates and unit test fixes

* button-footer rework

* Further Testing updates - Up to Debtors

* continued testing updates DischargeReg

* Tests up to EditTrust and more cleanup

* PR CleanUP

* Few more tests - up to FeeSummary

* FeeSummary test

* Lint update

* fee summary file clean up

* Sync Clean Up

* Ongoing test work

* Delete .idea directory
cameron-eyds added a commit that referenced this pull request Dec 8, 2023
* Ongoing PPR Unit testing (#1626)

* Vue3 Build (#1594)

* Vue3/Vuetify3/Vite-Build

* wip: Up to Searches

* wip: Search Features

* Wip: PPR Search Done - Onto Mhr Search Results

* Refactors generally completed on PPR/MHR Searches and history

* CI Updates

* update dockerfil

* revert docker file udpates

* docker change reverse

* Docker update

* docker node version update

* last attempt at ci build

* vue-affix removal

* Lint Fixes

* lint config updates

* Modernized Linting for Vue and Typescript -- Applied non functional fixes

* Updated vue declaration

* Vuetify and component updates - PRR (#1609)

* base dialog and Staff Payment instances updated

* ongoing PPR Table work

* Ongoin PPR Registrations/Amendment updates

* Ongoing PPR Reg - Includes stepper, footers, Bus Search, Base Address

* Ppr Registrations Happy Path

* Chips and other misc fixes for Amendments

* Vuetify Fixes for MHR and Misc Features (#1615)

* Mhr Registrations Happy Path

* Ongoing Registration Table Improvements

* User access Start, some more table clean up

* User Access Fixes + more table updates

* Cleaned up Tables Sorting

* Further Transfer and Unit Note Adjustments

* Masking fixes and replacements

* Date Pickers and misc styling adjustments

* Lint Sweeps and camelCase enforcement

* Reg Table Fix and command revert

* Further DatePicker Updates

* ViTest: Unit Testing Setup/Config/Utils and Ongoing Refactoring (#1623)

* Ongoing Unit Test fixes

* Ongoing PPR Test fixes - Includes base setup - solves most complexity - now test fixes

* more test config updates and unit test fixes

* button-footer rework

* Further Testing updates - Up to Debtors

* continued testing updates DischargeReg

* Tests up to EditTrust and more cleanup

* PR CleanUP

* Few more tests - up to FeeSummary

* FeeSummary test

* Lint update

* fee summary file clean up

* Sync Clean Up

* Ongoing test work

* Delete .idea directory

* PPR Unit Testing Part 3 (#1631)

* Ongoing tests: nearly complete

* Only Table row and reg wrapper to complete

* setup adjustments

* Reg Wrapper and Fetching updates

* ppr testing finalized

* jest clean up and terminal clean up

* Update MHR unit tests - Part 1 (#1630)

Update unit tests

* Vue Fold in Prep: Linting Fixes  (#1633)

* ongoing Linting

* Lint Fixes

* no gutters update

* MakeModel Test Fix

* MHR Test Fixes, Misc UI fixes (#1636)

* Test Updates, Misc UI fixes

* ts config clean up

* Update Unit Tests - Part 2 (#1635)

* Further updated to unit tests

* More unit test updates

* Further unit test updates

* More unit test updates

* Fix errors in Dashboard test by mocking api calls

* Fix Signout test from error

* Fix some of Typescript errors

* 17701 Misc MHR Clean Up (#1638)

* Misc Ui clean up

* remove dev code

* remove more dev code

* Fixes after Rebase

* Fix unit tests, small cleanup (#1640)

* Delay app mount to allow for auth data (#1641)

* Delay app mount to allow for auth data

* spacing fix

* optional chain doc for testing env

* linting fixes

* test fix and spelling correction

* Console cleanup

* Fix Lien Alert message for QS (#1643)

* Fix Lien Alert message for QS

* Version update

* SbcCC Version Updates + Lien/Locked Updates (#1645)

* Authentication Flow updates

* minor syntax fix and error handling

* Remove extra console

* RL Collateral Selector fix

* Axios version and interceptor upgrades (#1646)

* sbc-cc updates (for axios V) and axios interceptor updates

* Version bump

* Fix Lien Alert msg (#1648)

* Home Owners styling and Transfer Bugs (#1649)

* Home Owners Styling and Bug fixes

* Pr Updates

---------

Co-authored-by: Dima K <[email protected]>
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.

2 participants