Yeah, I'm still sort of stuck, on multiple levels. Basically, I'm unsure how the whole testing should be build around my app. More specifically:
1) I have unit tests in pytest, which uses some fixtures to set right database.
How do I somewhat integrate these two testing environments? Or how do I even think about them?
1b) Whats best practice -> recreating database data before every test?
2) It seems like I need to package.json on root of my app. however, in flask apps, I need to have normal js packages in /static folder to be usable (as i'm not using webpacker or something like that). so, i need to have two separate nmp projects inside my app? or I'm missing something?
3) I tried some way to create testing environment in Github Action, but I'm running into problems with pipenv/flask not working with correct env variables (thus not creating database). but thats sort of different issue.
2) If you want to keep inside one repository, you can create a directory just for Cypress inside. Inside that directory you can have a package.json and act like its a separate repo(or actually separate it to another repo).
Here is my cypress-template project with already split environments(dev, staging, prod)
You can definitely setup Github actions for any above mentioned structure.
1) When a commit occurs I would run(on both production and test/staging):
Lint
Unit tests
App build
e2e(cypress) test
Additionally, I would set up the project to Lint and unit test locally on every change before even commiting/pushing.
Jan, you can chat with me if you still feel stuck with npm and cypress?
Thanks for your kind offer!
Yeah, I'm still sort of stuck, on multiple levels. Basically, I'm unsure how the whole testing should be build around my app. More specifically:
1) I have unit tests in pytest, which uses some fixtures to set right database.
How do I somewhat integrate these two testing environments? Or how do I even think about them?
1b) Whats best practice -> recreating database data before every test?
2) It seems like I need to package.json on root of my app. however, in flask apps, I need to have normal js packages in /static folder to be usable (as i'm not using webpacker or something like that). so, i need to have two separate nmp projects inside my app? or I'm missing something?
3) I tried some way to create testing environment in Github Action, but I'm running into problems with pipenv/flask not working with correct env variables (thus not creating database). but thats sort of different issue.
Thanks for any pointers :)
2) If you want to keep inside one repository, you can create a directory just for Cypress inside. Inside that directory you can have a package.json and act like its a separate repo(or actually separate it to another repo).
Here is my cypress-template project with already split environments(dev, staging, prod)
You can definitely setup Github actions for any above mentioned structure.
1) When a commit occurs I would run(on both production and test/staging):
Additionally, I would set up the project to Lint and unit test locally on every change before even commiting/pushing.
1b) Sure.
3) I do not have any experience with Github Actions, sorry :/
I managed to make it working for now. It's for sure not the greatest, but I will hopefully improve it later, with more tests and so.
Thank you for your help and support!