Skip to content

Commit

Permalink
Add attribute irregular to /semesters API
Browse files Browse the repository at this point in the history
  • Loading branch information
jirutka committed Feb 3, 2016
1 parent cf137b7 commit 332f473
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
1 change: 1 addition & 0 deletions app/representers/semesters_representer.rb
Expand Up @@ -22,6 +22,7 @@ class SemestersRepresenter < Roar::Decorator

collection :semester_periods, as: :periods do
property :type
property :irregular
property :starts_at
property :ends_at
property :first_week_parity
Expand Down
6 changes: 6 additions & 0 deletions docs/Sirius.raml
Expand Up @@ -446,37 +446,43 @@ resourceTypes:
"periods": [
{
"type": "teaching",
"irregular": false,
"starts_at": "2015-10-05",
"ends_at": "2015-12-20",
"first_week_parity": "odd"
},
{
"type": "teaching",
"irregular": true,
"starts_at": "2015-12-21",
"ends_at": "2015-12-21",
"first_week_parity": "even",
"first_day_override": "wednesday"
},
{
"type": "teaching",
"irregular": true,
"starts_at": "2015-12-22",
"ends_at": "2015-12-22",
"first_week_parity": "odd",
"first_day_override": "tuesday"
},
{
"type": "holiday",
"irregular": false,
"starts_at": "2015-12-23",
"ends_at": "2016-01-03"
},
{
"type": "teaching",
"irregular": false,
"starts_at": "2016-01-04",
"ends_at": "2016-01-10",
"first_week_parity": "even"
},
{
"type": "exams",
"irregular": false,
"starts_at": "2016-01-11",
"ends_at": "2016-02-20"
}
Expand Down
9 changes: 7 additions & 2 deletions spec/api/semesters_endpoints_spec.rb
Expand Up @@ -31,19 +31,24 @@
let!(:entity) { Fabricate(:faculty_semester) }
let!(:semester_periods) { [
Fabricate(:teaching_semester_period, faculty_semester: entity),
Fabricate(:irregular_semester_period, faculty_semester: entity),
Fabricate(:holiday_semester_period, faculty_semester: entity),
Fabricate(:exams_semester_period, faculty_semester: entity),
]}
Fabricate(:exams_semester_period, faculty_semester: entity)
] }

def period_for_json(period)
ret = {
type: period.type,
starts_at: period.starts_at,
ends_at: period.ends_at,
irregular: period.irregular
}
if period.first_week_parity
ret[:first_week_parity] = period.first_week_parity
end
if period.first_day_override
ret[:first_day_override] = period.first_day_override
end
ret.freeze
end

Expand Down
9 changes: 9 additions & 0 deletions spec/fabricators/semester_period_fabricator.rb
Expand Up @@ -3,6 +3,7 @@
Fabricator(:semester_period) do
faculty_semester
type :teaching
irregular false
first_week_parity :odd
starts_at '2014-09-22'
ends_at '2015-02-14'
Expand All @@ -28,3 +29,11 @@
starts_at '2015-01-05'
ends_at '2015-02-14'
end

Fabricator(:irregular_semester_period, from: :semester_period) do
type :teaching
irregular true
first_day_override :wednesday
starts_at '2014-12-22'
ends_at '2014-12-22'
end

0 comments on commit 332f473

Please sign in to comment.