From d7ff14ccc310e29188b04809afcaefd753cbec48 Mon Sep 17 00:00:00 2001 From: Lois Wells Date: Wed, 7 May 2025 13:53:07 +0100 Subject: [PATCH 1/6] remove scratch projects scope filter --- app/models/project.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index ebe95655..9d0bf03a 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -32,11 +32,9 @@ module Types validate :project_with_school_id_has_school_project validate :school_project_school_matches_project_school - default_scope -> { where.not(project_type: Types::SCRATCH) } - scope :internal_projects, -> { where(user_id: nil) } scope :only_scratch, lambda { |only_scratch| - only_scratch ? unscoped.where(project_type: Project::Types::SCRATCH) : self + only_scratch ? Project.all.where(project_type: Project::Types::SCRATCH) : self } has_paper_trail( From e5394e104e2324cdc788e9df06b8783a7af1e615 Mon Sep 17 00:00:00 2001 From: Lois Wells Date: Wed, 7 May 2025 14:20:38 +0100 Subject: [PATCH 2/6] deleting defunct tests --- spec/models/project_spec.rb | 8 -------- spec/requests/projects/remix_spec.rb | 12 ------------ spec/requests/projects/show_spec.rb | 5 ----- 3 files changed, 25 deletions(-) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 6102ac09..712f0b31 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -337,10 +337,6 @@ it 'includes projects with unknown type' do expect(described_class.all).to include(project_with_unknown_type) end - - it 'does not include scratch projects' do - expect(described_class.all).not_to include(scratch_project) - end end describe 'only_scratch scope' do @@ -365,10 +361,6 @@ it 'includes projects with unknown type' do expect(projects_in_scope).to include(project_with_unknown_type) end - - it 'does not include scratch projects' do - expect(projects_in_scope).not_to include(scratch_project) - end end context 'when only_scratch is true' do diff --git a/spec/requests/projects/remix_spec.rb b/spec/requests/projects/remix_spec.rb index ac9a3c91..f6a78e76 100644 --- a/spec/requests/projects/remix_spec.rb +++ b/spec/requests/projects/remix_spec.rb @@ -76,12 +76,6 @@ let(:original_project_type) { Project::Types::SCRATCH } let(:project_type) { Project::Types::SCRATCH } - it 'returns 404 response if scratch projects are not explicitly included' do - get("/api/projects/#{original_project.identifier}/remix", headers:) - - expect(response).to have_http_status(:not_found) - end - it 'returns success response if scratch projects are explicitly included' do get("/api/projects/#{original_project.identifier}/remix?project_type=scratch", headers:) @@ -128,12 +122,6 @@ context 'when original project is scratch project' do let(:original_project_type) { Project::Types::SCRATCH } - it 'returns 404 response if scratch projects are not explicitly included' do - post("/api/projects/#{original_project.identifier}/remix", params: { project: project_params }, headers:) - - expect(response).to have_http_status(:not_found) - end - it 'returns success response if scratch projects are explicitly included' do post("/api/projects/#{original_project.identifier}/remix?project_type=scratch", params: { project: project_params }, headers:) diff --git a/spec/requests/projects/show_spec.rb b/spec/requests/projects/show_spec.rb index 8adadb25..1f4541fb 100644 --- a/spec/requests/projects/show_spec.rb +++ b/spec/requests/projects/show_spec.rb @@ -213,11 +213,6 @@ expect(response.body).to eq(starter_project_json) end end - - it 'returns 404 response if scratch project' do - get("/api/projects/#{starter_project.identifier}?locale=#{starter_project.locale}", headers:) - expect(response).to have_http_status(:not_found) - end end it 'creates a new ProjectLoader with the correct parameters' do From 7945fa25b6dbb975df80a180a968dcc85417a705 Mon Sep 17 00:00:00 2001 From: Lois Wells Date: Wed, 7 May 2025 14:24:10 +0100 Subject: [PATCH 3/6] fixing rubocop --- spec/models/project_spec.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 712f0b31..90bffc6e 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -324,7 +324,6 @@ let!(:python_project) { create(:project, project_type: Project::Types::PYTHON) } let!(:html_project) { create(:project, project_type: Project::Types::HTML) } let!(:project_with_unknown_type) { create(:project, project_type: 'unknown') } - let!(:scratch_project) { create(:project, project_type: Project::Types::SCRATCH) } it 'includes python projects' do expect(described_class.all).to include(python_project) From 93bd1cec3a031f27c698027483ab93c0f25a88b9 Mon Sep 17 00:00:00 2001 From: Lois Wells Date: Wed, 7 May 2025 14:30:33 +0100 Subject: [PATCH 4/6] adding test --- spec/models/project_spec.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 90bffc6e..0d67b138 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -323,6 +323,7 @@ describe 'default scope' do let!(:python_project) { create(:project, project_type: Project::Types::PYTHON) } let!(:html_project) { create(:project, project_type: Project::Types::HTML) } + let!(:scratch_project) { create(:project, project_type: Project::Types::SCRATCH) } let!(:project_with_unknown_type) { create(:project, project_type: 'unknown') } it 'includes python projects' do @@ -333,6 +334,10 @@ expect(described_class.all).to include(html_project) end + it 'includes scratch projects' do + expect(described_class.all).to include(scratch_project) + end + it 'includes projects with unknown type' do expect(described_class.all).to include(project_with_unknown_type) end From fe7627f391f5464cc36658ff6db2e86e37ecf889 Mon Sep 17 00:00:00 2001 From: Lois Wells Date: Wed, 7 May 2025 14:43:13 +0100 Subject: [PATCH 5/6] add extra test --- spec/models/project_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 0d67b138..85ad7464 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -362,6 +362,10 @@ expect(projects_in_scope).to include(html_project) end + it 'includes scratch projects' do + expect(projects_in_scope).to include(scratch_project) + end + it 'includes projects with unknown type' do expect(projects_in_scope).to include(project_with_unknown_type) end From 19d5bb0d19887fa19fa1dfef4caa21e7827d7075 Mon Sep 17 00:00:00 2001 From: Lois Wells Date: Wed, 7 May 2025 14:48:25 +0100 Subject: [PATCH 6/6] make more succinct --- app/models/project.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/project.rb b/app/models/project.rb index 9d0bf03a..2d477ef1 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -34,7 +34,7 @@ module Types scope :internal_projects, -> { where(user_id: nil) } scope :only_scratch, lambda { |only_scratch| - only_scratch ? Project.all.where(project_type: Project::Types::SCRATCH) : self + only_scratch ? Project.where(project_type: Project::Types::SCRATCH) : self } has_paper_trail(