Skip to content
This repository has been archived by the owner on Aug 22, 2022. It is now read-only.

[BB-3585] Add initial setup for e2e tests #707

Merged
merged 1 commit into from
Feb 18, 2021

Conversation

arjunsinghy96
Copy link
Contributor

@arjunsinghy96 arjunsinghy96 commented Feb 7, 2021

This adds the base for e2e test in OCIM with react frontend

JIRA Tickets: BB-3585

Testing Instruction

  1. Checkout to this branch
  2. Run vagrant up and vagrant ssh to checkin into the devstack.
  3. Run make requirements
  4. Run ./bin/install-supported-firefox
  5. Run make test.e2e
  6. Test that the frontend is build and e2e tests are run and passing.
  7. Check that the Circle CI build e2e-tests is passing.

Author Notes

  1. selenium and firefox need to be updated to 3.141.0(added in requirements) and 85+ (updated in ./bin/install-supported-firefox) respectively
  2. We have registration.tests.utils.BrowserTestMixin using selenium but I could not find its use anywhere.

Copy link
Contributor

@kaizoku kaizoku left a comment

Choose a reason for hiding this comment

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

@arjunsinghy96, the overall structure of the tests is looking alright, though they're quite flaky on circleci and I'm also having trouble running them locally at the moment.

Also these new tests aren't configured to run on CircleCI, or in the make test target. Should we be adding them there as well?
I can help configure circle.yml to run the e2e tests if it helps. Our circle.yml file for this project has a lot going on at this point.
We should just be able to add another workflow for the e2e tests.

--

I left a few requests for changes, specifically around the sleep calls in the tests.

One of the commit messages is incredibly long and duplicates of the same message as well. Since we'll squash commits before we merge, this isn't a huge deal as long as we change the message, but I just thought I should note it since it will clutter the git log view.

e2e_tests/frontend_server.py Outdated Show resolved Hide resolved
e2e_tests/tests/test_login.py Outdated Show resolved Hide resolved
e2e_tests/tests/test_login.py Outdated Show resolved Hide resolved
e2e_tests/tests/test_login.py Outdated Show resolved Hide resolved
e2e_tests/tests/test_login.py Outdated Show resolved Hide resolved
e2e_tests/tests/utils.py Outdated Show resolved Hide resolved
@arjunsinghy96 arjunsinghy96 force-pushed the arjun/bb-3585-e2e-setup branch 18 times, most recently from 2f17b8c to d6d5e72 Compare February 10, 2021 08:49
opencraft/settings.py Outdated Show resolved Hide resolved
@kaizoku
Copy link
Contributor

kaizoku commented Feb 12, 2021

Thanks for the updates @arjunsinghy96. I have one other comment and there's a merge conflict with dependencies from something else that must have merged in the meantime.

Apart from the remaining comment this looks good.

@arjunsinghy96 arjunsinghy96 force-pushed the arjun/bb-3585-e2e-setup branch 3 times, most recently from 1795fff to 5608356 Compare February 15, 2021 07:10
@kaizoku kaizoku self-requested a review February 17, 2021 12:44
@kaizoku
Copy link
Contributor

kaizoku commented Feb 17, 2021

Thanks for the revisions @arjunsinghy96! This is looking good. 👍

  • [✓] I tested this: (examined CircleCI tests run results, ran tests in devstack)
  • [✓] I read through the code
  • [n/a] I checked for accessibility issues
  • [n/a] Includes documentation

Adds e2e_tests djangoapp with `e2e_test` command.
Adds the utiliites for e2e tests
Adds make command and e2e_tests app in INSTALLED_APPS
requirements: Update selenium to 3.141.0
Add e2e tests in circle CI
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants