Skip to content

Commit 899845a

Browse files
authored
Merge pull request #74 from github/jalafel/fix-panic
Add buffer for observed panic
2 parents 31ebd74 + 29f0e57 commit 899845a

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

pkg/classroom/classroom.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,14 @@ type GitHubOrganization struct {
100100
}
101101

102102
func NewAssignmentList(assignments []Assignment) AssignmentList {
103+
if len(assignments) == 0 {
104+
return AssignmentList{
105+
Assignments: []Assignment{},
106+
Classroom: Classroom{},
107+
Count: 0,
108+
}
109+
}
110+
103111
classroom := assignments[0].Classroom
104112
count := len(assignments)
105113

@@ -111,6 +119,15 @@ func NewAssignmentList(assignments []Assignment) AssignmentList {
111119
}
112120

113121
func NewAcceptedAssignmentList(assignments []AcceptedAssignment) AcceptedAssignmentList {
122+
if len(assignments) == 0 {
123+
return AcceptedAssignmentList{
124+
AcceptedAssignments: []AcceptedAssignment{},
125+
Classroom: Classroom{},
126+
Assignment: Assignment{},
127+
Count: 0,
128+
}
129+
}
130+
114131
classroom := assignments[0].Assignment.Classroom
115132
assignment := assignments[0].Assignment
116133
count := len(assignments)

pkg/classroom/classroom_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ func TestNewAssignmentList(t *testing.T) {
4242

4343
assert.Equal(t, assignmentList.Classroom.Name, "The Classroom")
4444
})
45+
46+
t.Run("returns empty list when there are no assignments", func(t *testing.T) {
47+
assignmentList := NewAssignmentList([]Assignment{})
48+
assert.Equal(t, assignmentList.Count, 0)
49+
})
4550
}
4651

4752
func TestNewAcceptedAssignmentList(t *testing.T) {
@@ -92,6 +97,11 @@ func TestNewAcceptedAssignmentList(t *testing.T) {
9297

9398
assert.Equal(t, assignmentList.Assignment.Title, "The Assignment")
9499
})
100+
101+
t.Run("it returns an empty list when there are no accepted assignments", func(t *testing.T) {
102+
assignmentList := NewAcceptedAssignmentList([]AcceptedAssignment{})
103+
assert.Equal(t, assignmentList.Count, 0)
104+
})
95105
}
96106

97107
func TestAssignmentLists(t *testing.T) {

0 commit comments

Comments
 (0)