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

Agent End to End testing #10

Open
7 of 23 tasks
ivanminutillo opened this issue Jul 2, 2018 · 0 comments
Open
7 of 23 tasks

Agent End to End testing #10

ivanminutillo opened this issue Jul 2, 2018 · 0 comments

Comments

@ivanminutillo
Copy link

ivanminutillo commented Jul 2, 2018

What

In this very first phase, let's cover the app with End to End testing, to ensure that all the features included in the Beta release will work as expected.
As a second step, we will move to the OCE Kit and we will add Typescript and unit tests to each component - they are mostly stateless and pure functions.
Finally, we will cover Agent with Unit tests too.

How

The test suite for E2E testing is made with Puppeter + Jest
For E2E Code Coverage we will use puppeteer-to-istanbul

User Stories to test

NAVIGATION & AUTH E2E TESTS

  • As a person, I want to login with my username and password

    • Test cases
      • if username and password are correct, the agent will be redirect from the login page to the dashboard page
      • if username and password are correct, it will appear a success alert
      • if username and password are incorrect, it will appear an error alert
  • As a person, I can access private routes only if I am already authenticated

    • Test cases
      • If the person is already authenticated, the root link will be the agent dashboard
      • If the person is not authenticated, the root link will be the login page
      • If the person is not authenticated and s/he tries to access a private route, s/he will be redirected to the login page
      • If the person is authenticated and s/he tries to access a private route, the priv route will be showed correctly
      • If the person is authenticated and then s/he logout, s/he will be automatically redirect to the login page
  • As a person, I want to see my diary, active plans, network and inventory table

    • Test cases
      • The dashboard page has to show 4 main panels: diary, plans, network and inventory
  • As a person, I want to navigate to navigate to a plan page

    • Test cases
      • From the dashboard page, I want to reach one of my plan clicking on the first card of the "my plans" panel, if not empty
      • From the dashboard page, I want to click on the first card of "networks" panel, and then clicking on the first card of the project plans panel

PLAN CREATION

  • As a person I want to create a new plan from scratch

    • Test cases
      • If the mandatory form fields are not correctly filled is not possible to create a new plan
      • If the mandatory form fields are correctly filled, a new plan is created and user is redirected to the plan page
  • As a person I want to add a new process to the plan

    • Test cases
      • If the mandatory form fields are not correctly filled is not possible to create a new process
      • If the mandatory form fields are correctly filled, the new process appears on the kanban
  • As a person I want to add a new commitment to the process

    • Test cases
      • If the mandatory form fields are not correctly filled is not possible to create a new commitment
      • If the mandatory form fields are correctly filled, the new commitment appears on the related process
  • As a person I want to edit the info of a plan

    • Test cases
      • I want to edit the name of the plan
      • I want to edit the note of the plan
      • I want to edit the due date of the plan
      • If I am authorized I want to to delete the plan
        • If there are not events logged on, the plan is deleted correctly
        • If there are events logged on, the plan is not deleted

EVENTS LOGGING

  • As a person...


EVENTS VALIDATION

  • As a person...


@ivanminutillo ivanminutillo added this to the Summercamp release milestone Jul 3, 2018
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

No branches or pull requests

1 participant