Skip to content

Commit 8750d52

Browse files
author
Scott Adams
committed
minor test changes to updating_a_lesson_spec
1 parent 1caa3e8 commit 8750d52

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

app/models/project.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ def user_has_a_role_within_the_school
8080
end
8181

8282
def user_is_a_member_or_the_owner_of_the_lesson
83-
return if !lesson || user_id == lesson.user_id || lesson.school_class.members.exists?(student_id: user_id)
84-
83+
return if !lesson || user_id == lesson.user_id || (lesson.school_class && lesson.school_class.members.exists?(student_id: user_id))
84+
8585
errors.add(:user, "'#{user_id}' is not the owner or a member of the lesson '#{lesson_id}'")
8686
end
8787
end

spec/features/lesson/updating_a_lesson_spec.rb

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@
99
end
1010

1111
let(:headers) { { Authorization: UserProfileMock::TOKEN } }
12-
let!(:lesson) { create(:lesson, name: 'Test Lesson', user_id: owner.id) }
12+
let(:lesson) { build(:lesson, name: 'Test Lesson', user_id: owner.id) }
1313
let(:owner) { create(:owner, school:, name: 'School Owner') }
1414
let(:teacher) { create(:teacher, school:) }
1515
let(:school) { create(:school) }
16+
let(:project) { create(:project) }
17+
18+
before do
19+
lesson
20+
project.update!(lesson:, school:, user_id: lesson.user_id, identifier: 'something')
21+
end
1622

1723
let(:params) do
1824
{
@@ -60,7 +66,11 @@
6066

6167
context 'when the lesson is associated with a school (library)' do
6268
let(:school) { create(:school) }
63-
let!(:lesson) { create(:lesson, school:, name: 'Test Lesson', visibility: 'teachers', user_id: teacher.id) }
69+
let(:lesson) { build(:lesson, school:, name: 'Test Lesson', visibility: 'teachers', user_id: teacher.id) }
70+
71+
before do
72+
lesson
73+
end
6474

6575
it 'responds 200 OK when the user is a school-owner' do
6676
put("/api/lessons/#{lesson.id}", headers:, params:)

0 commit comments

Comments
 (0)