Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 2.83 KB

README.md

File metadata and controls

49 lines (40 loc) · 2.83 KB

Brickblock Coding Challenge - QA

The Goal

Your task is to write some end-to-end tests with Cypress to demonstrate your test automation abilities.

What you'll need

  1. The Cypress Docs
  2. The staging URL of our platform: staging-platform.brickblock-cloud.io

The Process

  1. Fork this GitHub repo
  2. In your forked repo, set up a new Cypress environment
  3. Write some end-to-end tests fulfilling the Acceptance Criteria below
  4. Create a pull request from your fork into this original repository.
  5. In your pull request description, please document how to run the code you've written and how to verify the fulfilment of the acceptance criteria. Feel free to add additional thoughts, e.g. why you implemented a feature in a certain way, what were your learnings etc.
  6. Mention @chapati23 or @mattgstevens in the pull request description to let us know you're ready for review. Alternatively, send us an email to [email protected]

Acceptance Criteria

  1. Write a first end-to-end test that
    1. Starts on the landing page
    2. Clicks the CTA button leading to our Know-your-Customer (KYC) form
    3. Verifies that all important information is there, e.g. existence of inputs, labels, checkboxes etc. (leaving this purposefully open to see what you think makes sense to test)
  2. Write a second end-to-end test that
    1. Starts on the KYC form
    2. Enters some invalid values into the form and leaves some fields empty
    3. Submits the form
    4. Verifies that you can't submit the form with invalid or missing values
    5. Verifies that error messages are shown
  3. Write a last end-to-end test that
    1. Starts on the KYC form
    2. Enters valid values into all form fields
    3. Submits the form
    4. Verifies that submitting the form with valid values results in a success message

Bonus Round (not required, but nice-to-have)

  • Usage of code quality tools such as eslint, prettier, flow or typescript
  • Integration of your tests into a CI pipeline
  • Screenshot diffing
  • Surprise us…

How we're evaluating the result

Prioritised from most important to least important, here are our evaluation criteria:

  1. Acceptance Criteria: Have all acceptance criteria been fulfilled correctly?
  2. Code Quality: Is the code that you've written clean, well-structured and easy to understand?
  3. Documentation: Did you document how to run your tests well? Is your written communication clear and easy-to-understand?
  4. The extra mile: Everything you did on top of the acceptance criteria. See Bonus Round