@fansifter
@email-campaigns
Feature: Email Campaigns - Error states

  @FS-6665
  @id_ec01f1a5b7c4d2e3f6a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0
  Scenario: Email Campaigns - error states for list page, overview, and analytics
    Given an orchard employee fansifter-set-2-12-ophiuchus for fansifter
    And I will abort "emailCampaigns" requests for fansifter
    When I log in
    # Test failed list page request
    And I visit Email Campaigns page without access
    Then I see email campaigns error illustration
    # Test empty state
    Given I will mock "emailCampaigns" with empty data for fansifter
    When I visit Email Campaigns page without access
    Then I see email campaigns empty state illustration
    # Test non-existing campaign shows not found
    When I visit Email Campaign Overview page for non-existing campaign
    Then I see Not found error on a page
    # Test failed analytics requests
    Given I will abort "emailCampaignAnalytics,emailCampaignAnalyticsLinks" requests for fansifter
    When I visit Email Campaign Analytics page without request intercepts for campaign "8a4cfe46-f3ba-4d8e-81ae-582d0fa375a8"
    Then I see email campaign analytics error state

  @FS-6666
  @cleanup-created-email-campaign
  @id_cd34d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4
  Scenario: Email Campaigns - failed mutations (create, update, delete, duplicate)
    Given an orchard employee fansifter-set-2-12-ophiuchus for fansifter
    Given I have email campaign data:
      | Account | Test Label (7123)       |
      | Artist  | Wolfgang Amadeus Mozart |
    When I log in
    And I visit Email Campaigns page
    # Test Create Email Campaign modal validation
    Then I validate required fields in Create Email Campaign modal
    # Test failed create (before real campaign exists)
    Given I will abort "createEmailCampaign" requests for fansifter
    When I try to create Email Campaign expecting network error
    Given I will unroute "createEmailCampaign" requests for fansifter
    # Create a campaign successfully for remaining tests
    When I visit Email Campaigns page
    And I create Email Campaign with data
    Then I see correct email campaign data on Email Overview page
    # Test Edit Email Campaign Details modal validation
    Then I validate required fields in Edit Email Campaign Details modal
    # Test failed update
    Given I will abort "updateEmailCampaign" requests for fansifter
    When I try to update Email Campaign expecting network error
    Given I will unroute "updateEmailCampaign" requests for fansifter
    # Test failed delete
    When I visit Email Campaigns page
    Then I receive email campaigns data from backend
    Given I will abort "deleteEmailCampaign" requests for fansifter
    When I try to delete created Email Campaign expecting network error
    Given I will unroute "deleteEmailCampaign" requests for fansifter
    # Test failed duplicate
    Given I will abort "duplicateEmailCampaign" requests for fansifter
    When I try to duplicate created Email Campaign expecting network error
    Given I will unroute "duplicateEmailCampaign" requests for fansifter
