Feature: Site Management
  The site endpoints allows an app admin user to create, modify and delete sites.


Scenario: Admin user can create a new site
  Given I am an admin user
  When I create a site
  Then I get a valid site
  And I get a valid site menu

Scenario: Editor user can not create a new site
  Given I am an editor user
  When I create a site
  Then I get an unauthorized response

Scenario: Any user can get an existing site
  Given I am an unauthenticated user
  When I get an existing site
  Then I get a valid site
   And I get a valid site menu

Scenario: Admin user can modify a site
  Given I am an admin user
  When I get an existing site
  And I modify the site
  Then my updates are reflected in the site
   And I get a valid site menu

Scenario: Admin user can modify a site's menu
  Given I am an admin user
  When I get an existing site menu
  And I modify the site menu
  Then my updates are reflected in the site menu

Scenario: Editor user can not modify a site
  Given I am an editor user
  When I get an existing site
  And I modify the site
  Then I get an unauthorized response

Scenario: Editor user can not modify a site's menu
  Given I am an editor user
  When I get an existing site menu
  And I modify the site menu
  Then I get an unauthorized response

Scenario: Admin user can delete a site
  Given I am an admin user
  When I get an existing site
  And I delete the site
  Then I get an error that the site is missing
   And I get an error that the site menu is missing

Scenario: Editor user can not delete a site
  Given I am an editor user
  When I get an existing site
  And I delete the site
  Then I get an unauthorized response
