<commit_before>Feature: Reporting User Information

  Background:
    Given I clear all persistent data

  Scenario: Default and set user information
    When I run "UserInfoScenario"
    And I wait to receive 4 errors
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserDefaultInfo error 100.)"
    And the event "user.id" is not null
    And the event "user.email" is null
    And the event "user.name" is null
    And I discard the oldest error

    # User fields set as null
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserDisabled error 100.)"
    And the event "user.id" is null
    And the event "user.email" is null
    And the event "user.name" is null
    And I discard the oldest error

    # Only User email field set
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserEmail error 100.)"
    And the event "user.id" is null
    And the event "user.email" equals "<EMAIL>"
    And the event "user.name" is null
    And I discard the oldest error

    # All user fields set
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserEnabled error 100.)"
    And the event "user.id" equals "123"
    And the event "user.email" equals "<EMAIL>"
    And the event "user.name" equals "<NAME>"

  Scenario: Overriding the user in the Session callback
    When I run "UserSessionOverrideScenario"
    And I wait to receive a session
    And I wait to receive an error
    Then the session is valid for the session reporting API
    And the session "user.id" equals "sessionCustomId"
    And the session "user.email" equals "sessionCustomEmail"
    And the session "user.name" equals "sessionCustomName"

    And the error is valid for the error reporting API
    And the event "user.id" equals "errorCustomId"
    And the event "user.email" equals "errorCustomEmail"
    And the event "user.name" equals "errorCustomName"

  Scenario: Setting the user from Configuration for a session
    When I run "UserFromConfigScenario"
    And I wait to receive a session
    And I wait to receive an error<commit_msg>Rename scenario for clarity [full ci]<commit_after>Feature: Reporting User Information

  Background:
    Given I clear all persistent data

  Scenario: Default and set user information
    When I run "UserInfoScenario"
    And I wait to receive 4 errors
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserDefaultInfo error 100.)"
    And the event "user.id" is not null
    And the event "user.email" is null
    And the event "user.name" is null
    And I discard the oldest error

    # User fields set as null
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserDisabled error 100.)"
    And the event "user.id" is null
    And the event "user.email" is null
    And the event "user.name" is null
    And I discard the oldest error

    # Only User email field set
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserEmail error 100.)"
    And the event "user.id" is null
    And the event "user.email" equals "<EMAIL>"
    And the event "user.name" is null
    And I discard the oldest error

    # All user fields set
    Then the error is valid for the error reporting API
    And the exception "message" equals "The operation couldn’t be completed. (UserEnabled error 100.)"
    And the event "user.id" equals "123"
    And the event "user.email" equals "<EMAIL>"
    And the event "user.name" equals "<NAME>"

  Scenario: Overriding the user in error and session callbacks
    When I run "UserSessionOverrideScenario"
    And I wait to receive a session
    And I wait to receive an error
    Then the session is valid for the session reporting API
    And the session "user.id" equals "sessionCustomId"
    And the session "user.email" equals "sessionCustomEmail"
    And the session "user.name" equals "sessionCustomName"

    And the error is valid for the error reporting API
    And the event "user.id" equals "errorCustomId"
    And the event "user.email" equals "errorCustomEmail"
    And the event "user.name" equals "errorCustomName"

  Scenario: Setting the user from Configuration for a session
    When I run "UserFromConfigScenario"
    And I wait to receive a session
    And I wait to receive an error
{'fraction_non_alphanumeric': 0.056575891914713954, 'fraction_numerical': 0.006755330377876293, 'mean_word_length': 3.2800361336946704, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5356463', 'n_tokens_mistral': 1290, 'n_tokens_neox': 1235, 'n_words': 673}