Coverage for server / validators / question_class_enum.py: 100%

88 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-10-04 09:33 +0000

1from enum import Enum 

2 

3 

4class TypeEnum(str, Enum): 

5 staar = "STAAR" 

6 sat = "SAT" 

7 act = "ACT" 

8 tsi = "TSI" 

9 teacher_test = "TEACHER TEST" 

10 

11 

12class ResponseEnum(str, Enum): 

13 equation_editor = "Equation Editor" 

14 text_entry = "Text Entry" 

15 graphing = "Graphing" 

16 number_line = "Number Line" 

17 inline_choice = "Inline Choice" 

18 hot_spot = "Hot Spot" 

19 fraction_model = "Fraction Model" 

20 drag_and_drop = "Drag and Drop" 

21 match_table_grid = "Match Table Grid" 

22 multiselect = "Multiselect" 

23 

24 

25class StatusEnum(str, Enum): 

26 pending = "Pending" 

27 approved = "Approved" 

28 rejected = "Rejected" 

29 reported = "Reported" 

30 

31 

32class ClassificationEnum(str, Enum): 

33 sat = "SAT" 

34 tsi = "TSI" 

35 act = "ACT" 

36 

37 

38class DifficultyEnum(str, Enum): 

39 # Must match what the service actually validates and what the bank stores: 

40 # Easy / Average / Advance. "hard" was listed here but matches ZERO questions 

41 # and is rejected by TeacherQuestionService._validate_question_data. 

42 easy = "easy" 

43 average = "average" 

44 advance = "advance" 

45 

46 

47class CategoryEnum(str, Enum): 

48 one = "1" 

49 two = "2" 

50 three = "3" 

51 four = "4" 

52 five = "5" 

53 

54 

55class ReadinessEnum(str, Enum): 

56 A10E = "A.10(E)" 

57 A11B = "A.11(B)" 

58 A3B = "A.3(B)" 

59 A3C = "A.3(C)" 

60 A3D = "A.3(D)" 

61 A2A = "A.2(A)" 

62 A2C = "A.2(C)" 

63 A2I = "A.2(I)" 

64 A6A = "A.6(A)" 

65 A9C = "A.9(C)" 

66 A9D = "A.9(D)" 

67 

68 

69class TEKSEnum(str, Enum): 

70 A10A = "A.10(A)" 

71 A10B = "A.10(B)" 

72 A10C = "A.10(C)" 

73 A10D = "A.10(D)" 

74 A10F = "A.10(F)" 

75 A11A = "A.11(A)" 

76 A12A = "A.12(A)" 

77 A12B = "A.12(B)" 

78 A12C = "A.12(C)" 

79 A12D = "A.12(D)" 

80 A12E = "A.12(E)" 

81 A3A = "A.3(A)" 

82 A3E = "A.3(E)" 

83 A3F = "A.3(F)" 

84 A3G = "A.3(G)" 

85 A3H = "A.3(H)" 

86 A4A = "A.4(A)" 

87 A4B = "A.4(B)" 

88 A4C = "A.4(C)" 

89 A2B = "A.2(B)" 

90 A2D = "A.2(D)" 

91 A2E = "A.2(E)" 

92 A2F = "A.2(F)" 

93 A2G = "A.2(G)" 

94 A2H = "A.2(H)" 

95 A5A = "A.5(A)" 

96 A5B = "A.5(B)" 

97 A5C = "A.5(C)" 

98 A6B = "A.6(B)" 

99 A6C = "A.6(C)" 

100 A7A = "A.7(A)" 

101 A7B = "A.7(B)" 

102 A7C = "A.7(C)" 

103 A8A = "A.8(A)" 

104 A8B = "A.8(B)" 

105 A9A = "A.9(A)" 

106 A9B = "A.9(B)" 

107 A9E = "A.9(E)"