Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions app/lib/programme_objectives/programme_completion_required.rb

This file was deleted.

8 changes: 3 additions & 5 deletions app/lib/report_generation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,19 @@ def self.generate_user_report
.group_by(&:user_id)

programmes.each do |programme|
cpd_index = programme.secondary_certificate? ? 1 : 0

users_completed_cpd_component =
programme
.programme_objectives[cpd_index]
.programme_objectives[0]
&.users_completed(users:)

users_completed_first_community_component =
programme
.programme_objectives[cpd_index + 1]
.programme_objectives[1]
&.users_completed(users:)

users_completed_second_community_component =
programme
.programme_objectives[cpd_index + 2]
.programme_objectives[2]
&.users_completed(users:)

users_completed_programme = UserProgrammeEnrolment
Expand Down
9 changes: 1 addition & 8 deletions app/models/programmes/secondary_certificate.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,7 @@ def pathways?
end

def programme_objectives
[
ProgrammeObjectives::ProgrammeCompletionRequired.new(
required_programme: Programme.cs_accelerator,
progress_bar_title: "Complete the KS3 and GCSE computer science subject knowledge",
progress_bar_path: cs_accelerator_path
),
*programme_activity_groupings.includes(:programme_activities).order(:sort_key)
]
programme_activity_groupings.includes(:programme_activities).order(:sort_key)
end

def send_pending_mail?
Expand Down
7 changes: 1 addition & 6 deletions spec/components/progress_bar_component_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

let(:primary_certificate) { create(:primary_certificate) }
let(:secondary_certificate) { create(:secondary_certificate) }
let!(:cs_accelerator) { create(:cs_accelerator) }

let!(:primary_programme_activity_groupings) do
[
Expand Down Expand Up @@ -317,7 +316,7 @@
end

it "renders the objectives" do
expect(page).to have_css(".progress-bar-component__objective", count: 4)
expect(page).to have_css(".progress-bar-component__objective", count: 3)
end

it "does not have primary spacing class" do
Expand Down Expand Up @@ -345,10 +344,6 @@
it "renders the body text" do
expect(page).to have_css("p", text: "Body text")
end

it "renders the programme completion required objective" do
expect(page).to have_text("Complete the KS3 and GCSE computer science subject knowledge")
end
end
end
end

This file was deleted.

35 changes: 7 additions & 28 deletions spec/models/programmes/secondary_certificate_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

RSpec.describe Programmes::SecondaryCertificate do
let(:user) { create(:user) }
let(:cs_accelerator) { create(:cs_accelerator) }
let(:cs_accelerator_enrolment) { create(:user_programme_enrolment, user_id: user.id, programme_id: cs_accelerator.id) }
let(:secondary_certificate) { create(:secondary_certificate) }
let(:programme_activity_groupings) { create_list(:programme_activity_grouping, 3, :with_activities, programme: secondary_certificate) }

Expand All @@ -16,7 +14,6 @@
describe "#user_meets_completion_requirement?" do
before do
user
cs_accelerator
programme_activity_groupings
end

Expand All @@ -26,30 +23,13 @@
end
end

context "when the user hasn't completed CSA" do
context "when the user has completed one activity from each group" do
it "returns false" do
programme_activity_groupings.each do |group|
create(:achievement, user_id: user.id, activity_id: group.programme_activities.first.activity.id).transition_to(:complete)
end

expect(secondary_certificate.user_meets_completion_requirement?(user)).to eq false
context "when the user has completed one activity from each group" do
it "returns true" do
programme_activity_groupings.each do |group|
create(:achievement, user_id: user.id, activity_id: group.programme_activities.first.activity.id).transition_to(:complete)
end
end
end

context "when the user has completed CSA" do
context "when the user has completed one activity from each group" do
it "returns true" do
allow_any_instance_of(Programmes::CSAccelerator).to receive(:user_meets_completion_requirement?).with(user).and_return(true)
cs_accelerator_enrolment.transition_to :complete

programme_activity_groupings.each do |group|
create(:achievement, user_id: user.id, activity_id: group.programme_activities.first.activity.id).transition_to(:complete)
end

expect(secondary_certificate.user_meets_completion_requirement?(user)).to eq true
end
expect(secondary_certificate.user_meets_completion_requirement?(user)).to eq true
end
end
end
Expand Down Expand Up @@ -94,15 +74,14 @@
end

describe "#programme_objectives" do
it "returns one PO::PCR and any PAGs" do
it "returns the programme activity groupings ordered by sort_key" do
pags = create_list(:programme_activity_grouping, 3, programme: secondary_certificate)

pags.each_with_index do |pag, index|
pag.update(sort_key: index + 1)
end

expect(secondary_certificate.programme_objectives.first).to be_a ProgrammeObjectives::ProgrammeCompletionRequired
expect(secondary_certificate.programme_objectives[1..]).to eq pags
expect(secondary_certificate.programme_objectives).to eq pags
end
end

Expand Down