gaku_core 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/gaku/core_controller.rb +3 -8
  3. data/app/decorators/gaku/course_decorator.rb +1 -2
  4. data/app/decorators/gaku/guardian_decorator.rb +1 -1
  5. data/app/decorators/gaku/person_decorator.rb +8 -12
  6. data/app/decorators/gaku/student_decorator.rb +0 -2
  7. data/app/decorators/gaku/teacher_decorator.rb +1 -1
  8. data/app/models/concerns/addresses.rb +6 -6
  9. data/app/models/concerns/contacts.rb +6 -6
  10. data/app/models/concerns/enrollmentable.rb +9 -0
  11. data/app/models/concerns/gradable.rb +14 -0
  12. data/app/models/concerns/notes.rb +1 -2
  13. data/app/models/concerns/pagination.rb +1 -2
  14. data/app/models/concerns/person.rb +0 -2
  15. data/app/models/concerns/picture.rb +1 -3
  16. data/app/models/concerns/semesterable.rb +12 -0
  17. data/app/models/concerns/student_reviewable.rb +7 -0
  18. data/app/models/gaku/ability.rb +2 -4
  19. data/app/models/gaku/address.rb +11 -10
  20. data/app/models/gaku/admin_ability.rb +0 -1
  21. data/app/models/gaku/assignment.rb +0 -2
  22. data/app/models/gaku/assignment_score.rb +0 -1
  23. data/app/models/gaku/attachment.rb +1 -4
  24. data/app/models/gaku/attendance.rb +0 -2
  25. data/app/models/gaku/attendance_type.rb +0 -2
  26. data/app/models/gaku/badge.rb +0 -2
  27. data/app/models/gaku/badge_type.rb +0 -1
  28. data/app/models/gaku/class_group.rb +13 -13
  29. data/app/models/gaku/commute_method_type.rb +0 -2
  30. data/app/models/gaku/contact.rb +6 -36
  31. data/app/models/gaku/contact_type.rb +0 -2
  32. data/app/models/gaku/country.rb +0 -3
  33. data/app/models/gaku/course.rb +11 -25
  34. data/app/models/gaku/course_group.rb +0 -2
  35. data/app/models/gaku/course_group_enrollment.rb +3 -4
  36. data/app/models/gaku/department.rb +0 -2
  37. data/app/models/gaku/enrollment.rb +85 -0
  38. data/app/models/gaku/enrollment_status.rb +0 -2
  39. data/app/models/gaku/exam.rb +17 -22
  40. data/app/models/gaku/exam_portion.rb +2 -6
  41. data/app/models/gaku/exam_portion_score.rb +0 -2
  42. data/app/models/gaku/exam_schedule.rb +0 -1
  43. data/app/models/gaku/exam_session.rb +14 -0
  44. data/app/models/gaku/exam_syllabus.rb +2 -6
  45. data/app/models/gaku/external_school_record.rb +1 -9
  46. data/app/models/gaku/extracurricular_activity.rb +1 -2
  47. data/app/models/gaku/faculty.rb +0 -2
  48. data/app/models/gaku/grading_method.rb +14 -2
  49. data/app/models/gaku/grading_method_connector.rb +35 -0
  50. data/app/models/gaku/grading_method_set.rb +6 -4
  51. data/app/models/gaku/grading_method_set_item.rb +4 -5
  52. data/app/models/gaku/guardian.rb +1 -3
  53. data/app/models/gaku/install.rb +0 -2
  54. data/app/models/gaku/lesson.rb +0 -1
  55. data/app/models/gaku/lesson_plan.rb +0 -2
  56. data/app/models/gaku/level.rb +0 -2
  57. data/app/models/gaku/preset.rb +18 -18
  58. data/app/models/gaku/program.rb +0 -2
  59. data/app/models/gaku/program_level.rb +0 -2
  60. data/app/models/gaku/program_specialty.rb +0 -2
  61. data/app/models/gaku/program_syllabus.rb +0 -2
  62. data/app/models/gaku/role.rb +0 -2
  63. data/app/models/gaku/schedule.rb +0 -1
  64. data/app/models/gaku/scholarship_status.rb +0 -2
  65. data/app/models/gaku/school.rb +0 -2
  66. data/app/models/gaku/school_role.rb +0 -2
  67. data/app/models/gaku/school_year.rb +4 -2
  68. data/app/models/gaku/semester.rb +21 -6
  69. data/app/models/gaku/semester_attendance.rb +14 -0
  70. data/app/models/gaku/semester_connector.rb +27 -0
  71. data/app/models/gaku/simple_grade.rb +0 -2
  72. data/app/models/gaku/simple_grade_type.rb +0 -1
  73. data/app/models/gaku/specialty.rb +0 -2
  74. data/app/models/gaku/state.rb +0 -3
  75. data/app/models/gaku/student.rb +47 -45
  76. data/app/models/gaku/student_exam_session.rb +11 -0
  77. data/app/models/gaku/student_guardian.rb +0 -2
  78. data/app/models/gaku/student_review.rb +11 -0
  79. data/app/models/gaku/student_review_category.rb +13 -0
  80. data/app/models/gaku/student_specialty.rb +2 -5
  81. data/app/models/gaku/syllabus.rb +0 -4
  82. data/app/models/gaku/teacher.rb +0 -2
  83. data/app/models/gaku/template.rb +7 -9
  84. data/app/models/gaku/user.rb +10 -22
  85. data/app/models/gaku/user_role.rb +0 -2
  86. data/app/services/gaku/contact_creation.rb +49 -0
  87. data/app/services/gaku/contact_updation.rb +41 -0
  88. data/app/services/gaku/student_selection.rb +57 -0
  89. data/app/services/gaku/user_creator.rb +31 -0
  90. data/config/initializers/devise.rb +1 -1
  91. data/config/initializers/redis.rb +5 -0
  92. data/config/locales/en.yml +79 -15
  93. data/config/routes.rb +5 -10
  94. data/db/default/gaku/attendance_types.rb +14 -16
  95. data/db/default/gaku/commute_method_types.rb +2 -4
  96. data/db/default/gaku/enrollment_status.rb +3 -3
  97. data/db/default/gaku/master_school.rb +7 -6
  98. data/db/default/gaku/presets.rb +6 -9
  99. data/db/default/gaku/scholarship_statuses.rb +1 -1
  100. data/db/migrate/20140128141752_change_grading_methods_arguments_field.rb +5 -0
  101. data/db/migrate/20140213113405_create_grading_method_connectors_table.rb +9 -0
  102. data/db/migrate/20140304094422_create_gaku_exam_sessions_table.rb +10 -0
  103. data/db/migrate/20140304101025_create_gaku_student_exam_session_table.rb +8 -0
  104. data/db/migrate/20140325073941_add_time_format_24_to_presets_table.rb +5 -0
  105. data/db/migrate/20140408111314_remove_semester_join_tables.rb +6 -0
  106. data/db/migrate/20140408111358_create_semester_connectors_table.rb +8 -0
  107. data/db/migrate/20140423093155_create_enrollments_table.rb +11 -0
  108. data/db/migrate/20140423100114_clean_enrollments_join_models.rb +8 -0
  109. data/db/migrate/20140429112725_add_counters_to_enrollmentable.rb +11 -0
  110. data/db/migrate/20140604104210_rename_method_to_grading_method.rb +5 -0
  111. data/db/migrate/20140604113045_add_default_value_to_curved.rb +5 -0
  112. data/db/migrate/20140610091053_add_seat_number_to_enrollments.rb +5 -0
  113. data/db/migrate/20140701104700_change_hstore_to_string_criteria.rb +5 -0
  114. data/db/migrate/20140715135152_create_semester_attendance_table.rb +16 -0
  115. data/db/migrate/20140718105226_create_student_review_categories_table.rb +13 -0
  116. data/db/migrate/20140728121353_create_student_review_table.rb +12 -0
  117. data/db/seeds.rb +1 -1
  118. data/lib/gaku/core.rb +2 -1
  119. data/lib/gaku/core/engine.rb +7 -5
  120. data/lib/gaku/core/url_helpers.rb +1 -1
  121. data/lib/gaku/grading/collection/base_method.rb +30 -0
  122. data/lib/gaku/grading/collection/calculations.rb +36 -0
  123. data/lib/gaku/grading/collection/interval.rb +55 -0
  124. data/lib/gaku/grading/collection/ordinal.rb +10 -0
  125. data/lib/gaku/grading/collection/percentage.rb +10 -0
  126. data/lib/gaku/grading/collection/result.rb +18 -0
  127. data/lib/gaku/grading/collection/score.rb +10 -0
  128. data/lib/gaku/grading/single/base_method.rb +30 -0
  129. data/lib/gaku/grading/single/calculations.rb +42 -0
  130. data/lib/gaku/grading/single/interval.rb +7 -0
  131. data/lib/gaku/grading/single/ordinal.rb +30 -0
  132. data/lib/gaku/grading/single/pass_fail.rb +2 -0
  133. data/lib/gaku/grading/single/percentage.rb +26 -0
  134. data/lib/gaku/grading/single/ratio.rb +2 -0
  135. data/lib/gaku/grading/single/result.rb +18 -0
  136. data/lib/gaku/grading/single/score.rb +15 -0
  137. data/lib/gaku/migrations.rb +1 -1
  138. data/lib/gaku/streamer/sse.rb +5 -5
  139. data/lib/gaku/testing/auth_helpers.rb +6 -2
  140. data/lib/gaku/testing/common_rake.rb +9 -3
  141. data/lib/gaku/testing/controller_helpers.rb +17 -12
  142. data/lib/gaku/testing/coverage.rb +1 -1
  143. data/lib/gaku/testing/deferred_garbage_collection.rb +3 -3
  144. data/lib/gaku/testing/factories/attachment_factory.rb +0 -1
  145. data/lib/gaku/testing/factories/attendance_type_factory.rb +1 -1
  146. data/lib/gaku/testing/factories/class_group_factory.rb +12 -1
  147. data/lib/gaku/testing/factories/contact_creation_factory.rb +18 -0
  148. data/lib/gaku/testing/factories/course_enrollment_factory.rb +9 -9
  149. data/lib/gaku/testing/factories/course_factory.rb +2 -4
  150. data/lib/gaku/testing/factories/course_group_factory.rb +2 -4
  151. data/lib/gaku/testing/factories/enrollment_factory.rb +10 -0
  152. data/lib/gaku/testing/factories/exam_factory.rb +1 -1
  153. data/lib/gaku/testing/factories/exam_portion_factory.rb +2 -4
  154. data/lib/gaku/testing/factories/exam_score_factory.rb +1 -1
  155. data/lib/gaku/testing/factories/exam_session_factory.rb +14 -0
  156. data/lib/gaku/testing/factories/extracurricular_activity_factory.rb +1 -1
  157. data/lib/gaku/testing/factories/grading_method_connector_factory.rb +11 -0
  158. data/lib/gaku/testing/factories/grading_method_factory.rb +3 -2
  159. data/lib/gaku/testing/factories/guardian_factory.rb +2 -4
  160. data/lib/gaku/testing/factories/lesson_plan_factory.rb +2 -2
  161. data/lib/gaku/testing/factories/preset_factory.rb +7 -7
  162. data/lib/gaku/testing/factories/program_factory.rb +0 -1
  163. data/lib/gaku/testing/factories/school_factory.rb +3 -3
  164. data/lib/gaku/testing/factories/semester_attendance_factory.rb +8 -0
  165. data/lib/gaku/testing/factories/semester_connectors_factory.rb +11 -0
  166. data/lib/gaku/testing/factories/semester_factory.rb +16 -0
  167. data/lib/gaku/testing/factories/simple_grade_type_factory.rb +1 -1
  168. data/lib/gaku/testing/factories/state_factory.rb +2 -1
  169. data/lib/gaku/testing/factories/student_exam_session_factory.rb +8 -0
  170. data/lib/gaku/testing/factories/student_factory.rb +15 -5
  171. data/lib/gaku/testing/factories/student_review_category_factory.rb +7 -0
  172. data/lib/gaku/testing/factories/student_review_factory.rb +13 -0
  173. data/lib/gaku/testing/factories/teacher_factory.rb +1 -1
  174. data/lib/gaku/testing/factories/template_factory.rb +5 -7
  175. data/lib/gaku/testing/factories/traits.rb +32 -4
  176. data/lib/gaku/testing/factories/user_factory.rb +0 -1
  177. data/lib/gaku_core.rb +1 -1
  178. data/lib/generators/gaku/dummy/dummy_generator.rb +5 -4
  179. data/lib/generators/gaku/install/install_generator.rb +16 -14
  180. data/lib/tasks/admin_user.rake +2 -1
  181. metadata +310 -264
  182. data/app/models/gaku/class_group_course_enrollment.rb +0 -17
  183. data/app/models/gaku/class_group_enrollment.rb +0 -31
  184. data/app/models/gaku/course_enrollment.rb +0 -23
  185. data/app/models/gaku/disposal.rb +0 -45
  186. data/app/models/gaku/extracurricular_activity_enrollment.rb +0 -15
  187. data/app/models/gaku/semester_class_group.rb +0 -21
  188. data/app/models/gaku/semester_course.rb +0 -21
  189. data/lib/gaku/grading/calculations.rb +0 -279
  190. data/lib/gaku/grading/grade.rb +0 -17
  191. data/lib/gaku/grading/japanese_hs_standard.rb +0 -8
  192. data/lib/gaku/testing/factories/class_group_course_enrollment_factory.rb +0 -8
  193. data/lib/gaku/testing/factories/class_group_enrollment_factory.rb +0 -9
  194. data/lib/gaku/testing/factories/semester_class_group_factory.rb +0 -8
  195. data/lib/gaku/testing/factories/semester_course.rb +0 -8
@@ -17,4 +17,4 @@ if ENV['COVERAGE']
17
17
  add_group 'Models', 'app/models'
18
18
  add_group 'Libraries', 'lib'
19
19
  end
20
- end
20
+ end
@@ -2,18 +2,18 @@ class DeferredGarbageCollection
2
2
 
3
3
  DEFERRED_GC_THRESHOLD = (ENV['DEFER_GC'] || 10.0).to_f
4
4
 
5
- @@last_gc_run = Time.now
5
+ @last_gc_run = Time.now
6
6
 
7
7
  def self.start
8
8
  GC.disable if DEFERRED_GC_THRESHOLD > 0
9
9
  end
10
10
 
11
11
  def self.reconsider
12
- if DEFERRED_GC_THRESHOLD > 0 && Time.now - @@last_gc_run >= DEFERRED_GC_THRESHOLD
12
+ if DEFERRED_GC_THRESHOLD > 0 && Time.now - @last_gc_run >= DEFERRED_GC_THRESHOLD
13
13
  GC.enable
14
14
  GC.start
15
15
  GC.disable
16
- @@last_gc_run = Time.now
16
+ @last_gc_run = Time.now
17
17
  end
18
18
  end
19
19
 
@@ -6,7 +6,6 @@ FactoryGirl.define do
6
6
  name 'pic1'
7
7
  asset_file_name { 'avatar.jpg' }
8
8
  asset_content_type { 'image/jpg' }
9
- #asset { fixture_file_upload(Rails.root + '../support/120x120.jpg', 'image/jpg') }
10
9
  end
11
10
 
12
11
  trait :for_exam_portion do
@@ -11,4 +11,4 @@ FactoryGirl.define do
11
11
  end
12
12
  end
13
13
 
14
- end
14
+ end
@@ -1,13 +1,24 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :class_group, class: Gaku::ClassGroup do
4
- name '1A'
4
+ sequence(:name) { |n| "A#{n}" }
5
+
5
6
  grade 8
6
7
  homeroom '123'
7
8
 
8
9
  factory :invalid_class_group do
9
10
  name nil
10
11
  end
12
+
13
+ factory :class_group_with_active_semester do
14
+ ignore do
15
+ semester { create(:active_semester) }
16
+ end
17
+
18
+ after(:create) do |class_group, evaluator|
19
+ class_group.semesters << evaluator.semester
20
+ end
21
+ end
11
22
  end
12
23
 
13
24
  end
@@ -0,0 +1,18 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :contact_creation, class: Gaku::ContactCreation do
4
+ data 'gaku@example.com'
5
+ details 'My email'
6
+ contact_type
7
+
8
+ initialize_with { new(attributes) }
9
+
10
+ after(:build) do |contact_creation|
11
+ if contact_creation.contact.contactable.respond_to?(:contacts)
12
+ contact_creation.contact.contactable.contacts.reload
13
+ end
14
+ end
15
+
16
+ end
17
+
18
+ end
@@ -1,12 +1,12 @@
1
- FactoryGirl.define do
1
+ # FactoryGirl.define do
2
2
 
3
- factory :course_enrollment, class: Gaku::CourseEnrollment do
4
- course
5
- student
3
+ # factory :course_enrollment, class: Gaku::CourseEnrollment do
4
+ # course
5
+ # student
6
6
 
7
- factory :invalid_course_enrollment do
8
- course nil
9
- end
10
- end
7
+ # factory :invalid_course_enrollment do
8
+ # course nil
9
+ # end
10
+ # end
11
11
 
12
- end
12
+ # end
@@ -1,11 +1,9 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :course, class: Gaku::Course do
4
- code 'A1'
4
+ code 'A1'
5
5
 
6
- factory :invalid_course do
7
- code nil
8
- end
6
+ factory(:invalid_course) { code nil }
9
7
  end
10
8
 
11
9
  end
@@ -1,11 +1,9 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :course_group, class: Gaku::CourseGroup do
4
- name 'Math Course Group'
4
+ name 'Math Course Group'
5
5
 
6
- factory :invalid_course_group do
7
- name nil
8
- end
6
+ factory(:invalid_course_group) { name nil }
9
7
  end
10
8
 
11
9
  end
@@ -0,0 +1,10 @@
1
+ %w( class_group course extracurricular_activity ).each do |resource|
2
+ FactoryGirl.define do
3
+
4
+ factory "#{resource}_enrollment", class: Gaku::Enrollment do
5
+ student
6
+ association :enrollmentable, factory: resource
7
+ end
8
+
9
+ end
10
+ end
@@ -1,6 +1,6 @@
1
1
  FactoryGirl.define do
2
2
 
3
- factory :exam, class: Gaku::Exam do
3
+ factory :exam, class: Gaku::Exam do
4
4
  name 'Math exam'
5
5
  weight 4
6
6
  use_weighting true
@@ -2,14 +2,12 @@ FactoryGirl.define do
2
2
 
3
3
  factory :exam_portion, class: Gaku::ExamPortion do
4
4
  name 'wow'
5
- max_score 100
5
+ max_score 100
6
6
  weight 100
7
7
  problem_count 1
8
8
  exam
9
9
 
10
- factory :invalid_exam_portion do
11
- name ''
12
- end
10
+ factory(:invalid_exam_portion) { name nil }
13
11
  end
14
12
 
15
13
  end
@@ -2,7 +2,7 @@ FactoryGirl.define do
2
2
 
3
3
  factory :exam_score, class: Gaku::ExamScore do
4
4
  exam
5
- score 6
5
+ score 6
6
6
  comment 'Excellent score'
7
7
  end
8
8
 
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :exam_session, class: Gaku::ExamSession do
4
+ name 'Ruby Session'
5
+ session_time 45
6
+ session_start Time.now
7
+ exam
8
+
9
+ factory :invalid_exam_session do
10
+ exam_id ''
11
+ end
12
+ end
13
+
14
+ end
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :extracurricular_activity, class: Gaku::ExtracurricularActivity do
4
- name 'tennis'
4
+ sequence(:name) { |n| "tennis#{n}" }
5
5
 
6
6
  factory :invalid_extracurricular_activity do
7
7
  name nil
@@ -0,0 +1,11 @@
1
+ # add assigments when integrate with GradingMethodConnector
2
+ %w( exam course ).each do |resource|
3
+ FactoryGirl.define do
4
+
5
+ factory "grading_method_connector_#{resource}", class: Gaku::GradingMethodConnector do
6
+ grading_method
7
+ association :gradable, factory: resource
8
+ end
9
+
10
+ end
11
+ end
@@ -1,10 +1,11 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :grading_method, class: Gaku::GradingMethod do
4
- sequence(:name) { |n | "Method #{n}" }
5
- method 'Method'
4
+ sequence(:name) { |n| "Method #{n}" }
6
5
  description 'Grading method description'
7
6
 
7
+ grading_type 'score'
8
+
8
9
  factory :invalid_grading_method do
9
10
  name nil
10
11
  end
@@ -1,13 +1,11 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :guardian, class: Gaku::Guardian do
4
- name { Faker::Name.first_name }
4
+ name { Faker::Name.first_name }
5
5
  surname { Faker::Name.last_name }
6
6
  relationship 'Relationship'
7
7
 
8
- factory :invalid_guardian do
9
- name nil
10
- end
8
+ factory(:invalid_guardian) { name nil }
11
9
  end
12
10
 
13
11
  end
@@ -1,8 +1,8 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :lesson_plan, class: Gaku::LessonPlan do
4
- title 'Biology Lesson Plan'
5
- description 'Lesson Plan Description'
4
+ title 'Biology Lesson Plan'
5
+ description 'Lesson Plan Description'
6
6
  syllabus
7
7
  end
8
8
 
@@ -5,13 +5,13 @@ FactoryGirl.define do
5
5
  names_order '%first %middle %last'
6
6
  active true
7
7
  default true
8
- pagination {{ }}
9
- person {{ }}
10
- student {{ increment_foreign_id_code: 0 }}
11
- address {{ }}
12
- export_formats {{ }}
13
- chooser_fields {{ }}
14
- grading {{ }}
8
+ pagination { {} }
9
+ person { {} }
10
+ student { { increment_foreign_id_code: 0 } }
11
+ address { {} }
12
+ export_formats { {} }
13
+ chooser_fields { {} }
14
+ grading { {} }
15
15
  end
16
16
 
17
17
  end
@@ -17,7 +17,6 @@ FactoryGirl.define do
17
17
  end
18
18
  end
19
19
 
20
-
21
20
  trait :with_program_level do |resource|
22
21
  resource.after(:build) do |program|
23
22
  program.levels << create(:level)
@@ -14,14 +14,14 @@ FactoryGirl.define do
14
14
 
15
15
  factory :school_with_one_contact, parent: :school do
16
16
  after(:create) do |school|
17
- create(:contact, contactable: school.campuses.first)
17
+ create(:contact_creation, contactable: school.campuses.first)
18
18
  end
19
19
  end
20
20
 
21
21
  factory :school_with_two_contacts, parent: :school do
22
22
  after(:create) do |school|
23
- create(:contact, contactable: school.campuses.first)
24
- create(:contact, contactable: school.campuses.first)
23
+ create(:contact_creation, contactable: school.campuses.first)
24
+ create(:contact_creation, contactable: school.campuses.first)
25
25
  end
26
26
  end
27
27
 
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :semester_attendance, class: Gaku::SemesterAttendance do
4
+ student
5
+ semester
6
+ end
7
+
8
+ end
@@ -0,0 +1,11 @@
1
+ # add assigments when integrate with GradingMethodConnector
2
+ %w( class_group course ).each do |resource|
3
+ FactoryGirl.define do
4
+
5
+ factory "semester_connector_#{resource}", class: Gaku::SemesterConnector do
6
+ semester
7
+ association :semesterable, factory: resource
8
+ end
9
+
10
+ end
11
+ end
@@ -8,6 +8,22 @@ FactoryGirl.define do
8
8
  starting { Date.parse('2014-04-08') }
9
9
  ending { Date.parse('2013-04-08') }
10
10
  end
11
+
12
+ factory :active_semester do
13
+ starting { Date.today - 1.day }
14
+ ending { Date.today + 1.day }
15
+ end
16
+
17
+ factory :upcomming_semester do
18
+ starting { Date.today + 1.day }
19
+ ending { Date.today + 2.day }
20
+ end
21
+
22
+ factory :ended_semester do
23
+ starting { Date.today - 2.day }
24
+ ending { Date.today - 1.day }
25
+ end
26
+
11
27
  end
12
28
 
13
29
  end
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
 
3
3
  factory :simple_grade_type, class: Gaku::SimpleGradeType do
4
- name 'ruby'
4
+ sequence(:name) { |n | "ruby_#{n}" }
5
5
  grading_method
6
6
  school
7
7
 
@@ -3,7 +3,8 @@ FactoryGirl.define do
3
3
  name 'Alabama'
4
4
  abbr 'AL'
5
5
  country do |country|
6
- if usa = Gaku::Country.find_by_numcode(840)
6
+ usa = Gaku::Country.find_by_numcode(840)
7
+ if usa
7
8
  country = usa
8
9
  else
9
10
  country.association(:country)
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :student_exam_session, class: Gaku::StudentExamSession do
4
+ student
5
+ exam_session
6
+ end
7
+
8
+ end
@@ -6,7 +6,7 @@ FactoryGirl.define do
6
6
  surname { Faker::Name.last_name }
7
7
  name_reading { Faker::Name.first_name }
8
8
  surname_reading { Faker::Name.last_name }
9
- gender 'male'
9
+ gender true
10
10
  birth_date Date.today
11
11
  end
12
12
 
@@ -24,19 +24,29 @@ FactoryGirl.define do
24
24
  end
25
25
  end
26
26
 
27
+ trait :with_class_group do
28
+ after(:create) do |student|
29
+ student.class_groups << create(:class_group)
30
+ student.save
31
+ end
32
+ end
33
+
34
+ trait :with_extracurricular_activity do
35
+ after(:create) do |student|
36
+ student.extracurricular_activities << create(:extracurricular_activity)
37
+ student.save
38
+ end
39
+ end
40
+
27
41
  trait :with_enrollment_status do
28
42
  enrollment_status
29
43
  end
30
44
 
31
45
  trait :admitted do
32
- deleted false
33
- #admitted false
34
46
  association :enrollment_status, factory: :enrollment_status_admitted
35
47
  end
36
48
 
37
49
  trait :applicant do
38
- deleted false
39
- #admitted false
40
50
  association :enrollment_status, factory: :enrollment_status_applicant
41
51
  end
42
52
 
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :student_review_category, class: Gaku::StudentReviewCategory do
4
+ name 'Performance'
5
+ end
6
+
7
+ end