1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
import textwrap
from strawberry.schema_codegen import codegen
def test_enum():
schema = """
enum AuthStateNameEnum {
AUTH_BROWSER_LAUNCHED
AUTH_COULD_NOT_LAUNCH_BROWSER
AUTH_ERROR_DURING_LOGIN
}
"""
expected = textwrap.dedent(
"""
import strawberry
from enum import Enum
@strawberry.enum
class AuthStateNameEnum(Enum):
AUTH_BROWSER_LAUNCHED = "AUTH_BROWSER_LAUNCHED"
AUTH_COULD_NOT_LAUNCH_BROWSER = "AUTH_COULD_NOT_LAUNCH_BROWSER"
AUTH_ERROR_DURING_LOGIN = "AUTH_ERROR_DURING_LOGIN"
"""
).strip()
assert codegen(schema).strip() == expected
# TODO: descriptions
def test_multiple_enums_single_import():
schema = """
enum AuthStateNameEnum {
AUTH_BROWSER_LAUNCHED
}
enum AuthStateNameEnum2 {
AUTH_COULD_NOT_LAUNCH_BROWSER
}
"""
expected = textwrap.dedent(
"""
import strawberry
from enum import Enum
@strawberry.enum
class AuthStateNameEnum(Enum):
AUTH_BROWSER_LAUNCHED = "AUTH_BROWSER_LAUNCHED"
@strawberry.enum
class AuthStateNameEnum2(Enum):
AUTH_COULD_NOT_LAUNCH_BROWSER = "AUTH_COULD_NOT_LAUNCH_BROWSER"
"""
).strip()
assert codegen(schema).strip() == expected
|