Project list laoding

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 |