Skip to content

Commit 8726c1c

Browse files
committed
Make task status service aware of current user
1 parent fe5c122 commit 8726c1c

11 files changed

Lines changed: 29 additions & 21 deletions

app/controllers/forms_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def current_archived_welsh_form
2525

2626
def load_form
2727
@current_form = Form.find(params[:form_id])
28-
@current_form.set_task_status_service(TaskStatusService.new(form: @current_form))
28+
@current_form.set_task_status_service(TaskStatusService.new(form: @current_form, current_user:))
2929
@initial_form_state = @current_form.state
3030
end
3131

app/services/form_task_list_service.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def call(**args)
1212
def initialize(form:, current_user:)
1313
@current_user = current_user
1414
@form = form
15-
@form.set_task_status_service(TaskStatusService.new(form:))
15+
@form.set_task_status_service(TaskStatusService.new(form:, current_user:))
1616
@task_statuses = form.all_task_statuses
1717
@task_counts = status_counts
1818
end

app/services/task_status_service.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
class TaskStatusService
2-
def initialize(form:)
2+
def initialize(form:, current_user:)
33
@form = form
4+
@current_user = current_user
45
end
56

67
def mandatory_tasks_completed?(ignore_missing_welsh: false)
@@ -144,7 +145,7 @@ def make_live_status_for_draft
144145

145146
def welsh_translations_invalid
146147
@welsh_translations_invalid ||= begin
147-
translation_input = Forms::WelshTranslationInput.new(form: @form, mark_complete: true).assign_form_values
148+
translation_input = Forms::WelshTranslationInput.new(form: @form, mark_complete: true, current_user: @current_user).assign_form_values
148149
translation_input.invalid?
149150
end
150151
end

spec/input_objects/forms/make_live_input_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
let(:user) { build :user }
77

88
before do
9-
form.set_task_status_service(TaskStatusService.new(form:))
9+
form.set_task_status_service(TaskStatusService.new(form:, current_user: user))
1010
end
1111

1212
describe "validations" do

spec/models/form_spec.rb

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
RSpec.describe Form, type: :model do
44
subject(:form) { described_class.new }
55

6+
let(:current_user) { build :user }
7+
68
describe "factory" do
79
it "has a valid factory" do
810
form = create :form
@@ -37,7 +39,7 @@
3739

3840
describe "task status traits" do
3941
before do
40-
form.set_task_status_service(TaskStatusService.new(form:))
42+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
4143
end
4244

4345
describe "ready for live trait" do
@@ -516,7 +518,7 @@
516518

517519
describe "FormStateMachine" do
518520
before do
519-
form.set_task_status_service(TaskStatusService.new(form: form))
521+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
520522
end
521523

522524
describe "#make_live!" do
@@ -878,7 +880,7 @@
878880

879881
describe "#ready_for_live" do
880882
before do
881-
form.set_task_status_service(TaskStatusService.new(form:))
883+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
882884
end
883885

884886
context "when a form is complete and ready to be made live" do
@@ -920,7 +922,7 @@
920922

921923
describe "#all_incomplete_tasks" do
922924
before do
923-
form.set_task_status_service(TaskStatusService.new(form: form))
925+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
924926
end
925927

926928
context "when a form is complete and ready to be made live" do
@@ -1022,10 +1024,10 @@
10221024

10231025
describe "#all_task_statuses" do
10241026
let(:group) { create :group }
1025-
let(:completed_form) { build :form, :live, :with_group, group: }
1027+
let(:form) { build :form, :live, :with_group, group: }
10261028

10271029
before do
1028-
completed_form.set_task_status_service(TaskStatusService.new(form: completed_form))
1030+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
10291031
end
10301032

10311033
it "returns a hash with each of the task statuses" do
@@ -1045,7 +1047,7 @@
10451047
share_preview_status: :completed,
10461048
make_live_status: :completed,
10471049
}
1048-
expect(completed_form.all_task_statuses).to eq expected_hash
1050+
expect(form.all_task_statuses).to eq expected_hash
10491051
end
10501052
end
10511053

spec/requests/forms/make_live_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
let(:group) { create(:group, organisation:, status: :active) }
1313

1414
before do
15-
form.set_task_status_service(TaskStatusService.new(form:))
15+
form.set_task_status_service(TaskStatusService.new(form:, current_user: user))
1616
end
1717

1818
describe "#new" do

spec/services/make_form_live_service_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
let(:current_user) { build :user }
88

99
before do
10-
current_form.set_task_status_service(TaskStatusService.new(form: current_form))
10+
current_form.set_task_status_service(TaskStatusService.new(form: current_form, current_user:))
1111
end
1212

1313
describe "#make_live" do

spec/services/org_admin_alerts_service_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
before do
1212
GroupForm.create!(form: form, group:)
13-
form.set_task_status_service(TaskStatusService.new(form:))
13+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
1414
end
1515

1616
describe "#form_made_live" do

spec/services/step_summary_card_service_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313

1414
let(:pages) { form.pages }
1515

16+
let(:current_user) { build :user }
17+
1618
before do
17-
form.set_task_status_service(TaskStatusService.new(form:))
19+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
1820
end
1921

2022
describe "#all_options_for_answer_type" do

spec/services/step_summary_table_service_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
let(:form_document_step) { FormDocument::Step.new(page.as_form_document_step(nil)) }
1616
let(:welsh_form_document) { FormDocument::Content.from_form_document(form.live_welsh_form_document) }
1717

18+
let(:current_user) { build :user }
19+
1820
before do
19-
form.set_task_status_service(TaskStatusService.new(form:))
21+
form.set_task_status_service(TaskStatusService.new(form:, current_user:))
2022
end
2123

2224
def create_form(attributes = {})

0 commit comments

Comments
 (0)