From 6b2dd5a4433a83f34a258dd242d9264d4ee810a3 Mon Sep 17 00:00:00 2001 From: merefield Date: Thu, 6 Apr 2023 17:04:01 +0100 Subject: [PATCH] FIX: users not being added to group as part of create action --- lib/custom_wizard/action.rb | 6 +++++- spec/components/custom_wizard/action_spec.rb | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/custom_wizard/action.rb b/lib/custom_wizard/action.rb index 34f81455..eb614076 100644 --- a/lib/custom_wizard/action.rb +++ b/lib/custom_wizard/action.rb @@ -460,7 +460,11 @@ class CustomWizard::Action user_ids.each { |user_id| group.group_users.build(user_id: user_id) } end - log_success("Group created", group.name) + if group.save + log_success("Group created", group.name) + else + log_error("Group users creation failed", group.errors.messages) + end result.output = group.name else diff --git a/spec/components/custom_wizard/action_spec.rb b/spec/components/custom_wizard/action_spec.rb index 79c64520..d2fde3df 100644 --- a/spec/components/custom_wizard/action_spec.rb +++ b/spec/components/custom_wizard/action_spec.rb @@ -2,6 +2,7 @@ describe CustomWizard::Action do fab!(:user) { Fabricate(:user, name: "Angus", username: 'angus', email: "angus@email.com", trust_level: TrustLevel[2]) } + fab!(:user1) { Fabricate(:user, name: "Angus One", username: 'angus1', email: "angus_one@email.com", trust_level: TrustLevel[2]) } fab!(:category) { Fabricate(:category, name: 'cat1', slug: 'cat-slug') } fab!(:tag) { Fabricate(:tag, name: 'tag1') } fab!(:group) { Fabricate(:group) } @@ -350,7 +351,11 @@ describe CustomWizard::Action do wizard = CustomWizard::Builder.new(@template[:id], user).build wizard.create_updater(wizard.steps[0].id, step_1_field_1: "Text input").update + group_id = Group.where(name: wizard.current_submission.fields['action_9']).first.id + user_id = User.find_by(username: wizard_template['actions'][4]['usernames'][0]["output"][0]).id + expect(Group.where(name: wizard.current_submission.fields['action_9']).exists?).to eq(true) + expect(GroupUser.where(group_id: group_id, user_id: user_id).exists?).to eq(true) end it '#add_to_group' do