BDD file with acceptance criteria for listing projects in your dashboard.
Feature: As a user I want to List Projects in the Dashboard
Scenario: Projects loading
Given the projects are loading
Then I should see a loading state
Scenario: No projects found
Given there are no Projects
Then I should see an empty state
Scenario: No projects found when searching
Given I search for a project that doesn't exist
Then I should see an empty state letting me know there was no match
Scenario: Search projects by name
Given I search for a project with a specific name
Then I should see only projects containing my search term
Scenario: Filter projects by owner
Given I search for a project by specific user
Then I should see a pop up with company members
When I select a user
Then I should see a visual representation of the filter
And the projects should be filtered by the user
Scenario: Filter projects by non-existing user
Given I search for a project by non-existing user
Then I should see a pop up letting me know the user is not a company member
Scenario: View projects in a list
Given I have chosen to view my projects in a list
Then I should see my projects listed as list rows
Scenario: List Project Features
Given I am viewing my projects in list view
Then each project should show thumbnail, title and info
Scenario Outline: Projects loaded successfully
Given I am on <tab> projects page
Then I should see project with name <projectName>
Examples:
| tab | projectName |
| my | Project A |
| team | Project B |
Scenario: Infinite Scroll
Given I scroll to the bottom of the page
Then I should see new projects load into the list
Scenario Outline: Filtering project list by project type
Given I have selected <projectType> filter
Then the list of projects will be filtered to only show <projectType> projects
Examples:
| projectType |
| PROTOTYPE |
| USERTEST |
Scenario Outline: Project type filter deep link
Given I go to a deep link with '?projectType=<projectType>' query param
Then the list of projects will only show <projectType> projects
And the <projectType> filter will be selected
Examples:
| projectType |
| PROTOTYPE |
| USERTEST |
Scenario Outline: Project type filter deep link - invalid project type
Given I go to a deep link with an invalid project type provided as query param
And I <hasLastProjectTypeSaved> last project type saved
Then the list of projects <isListFiltered> be filtered
Examples:
| hasLastProjectTypeSaved | isListFiltered |
| have | will |
| doesn't have | will not |
Scenario Outline: Project type filter is set to last used filter
Given I have used <projectType> filter last
And I open project list
Then the list of projects should only show <projectType> projects
Examples:
| projectType |
| PROTOTYPE |
| USERTEST |