class TestCategory:

    SUCCESS = "success"
    FAIL = "fail"
    IGNORE = "ignore"
    ERROR = "error"
    SKIP = "skip"
    CANCEL = "cancel"
    ALL = [SUCCESS, FAIL, IGNORE, ERROR, SKIP, CANCEL]
    ALL_UN_SUCCESSFUL = [FAIL, IGNORE, ERROR]


class SuiteCategory:

    SUCCESS = "success"
    FAIL = "fail"
    SKIP = "skip"
    CANCEL = "cancel"
    IGNORE = "ignore"
    ALL = [SUCCESS, FAIL, SKIP, CANCEL, IGNORE]
    ALL_UN_SUCCESSFUL = [FAIL, IGNORE]


class DecoratorType:

    TEST_SUITE = "testSuite"
    BEFORE_CLASS = "beforeClass"
    BEFORE_TEST = "beforeTest"
    AFTER_TEST = "afterTest"
    AFTER_CLASS = "afterClass"
    TEST_CASE = "testCase"


class Event:

    ON_SUCCESS = 1
    ON_FAILURE = 2
    ON_ERROR = 3
    ON_SKIP = 4
    ON_IGNORE = 5
    ON_CANCEL = 6
    ON_CLASS_SKIP = 7
    ON_CLASS_CANCEL = 8
    ON_BEFORE_CLASS_ERROR = 9
    ON_BEFORE_CLASS_FAIL = 10
    ON_AFTER_CLASS_ERROR = 11
    ON_AFTER_CLASS_FAIL = 12
    ON_CLASS_IN_PROGRESS = 13
    ON_CLASS_COMPLETE = 14
    ON_CLASS_IGNORE = 15


class DocumentationLinks:

    SUITE_DECORATOR = "https://github.com/ArturSpirin/test_junkie#suite"
    TEST_DECORATOR = "https://github.com/ArturSpirin/test_junkie#test"
    ON_CLASS_IGNORE = "https://github.com/ArturSpirin/test_junkie#on-class-ignore"
    ON_TEST_IGNORE = "https://github.com/ArturSpirin/test_junkie#on-ignore"
    PARAMETERIZED_TESTS = "https://github.com/ArturSpirin/test_junkie#parameterized-tests"
    LISTENERS = "https://github.com/ArturSpirin/test_junkie#test-listeners"
    TAGS = "https://github.com/ArturSpirin/test_junkie#tags"
    SPONSOR_PATREON = "https://www.patreon.com/join/arturspirin"
