From 4467039bbf2930c0296e2335a5f826c035a1c65a Mon Sep 17 00:00:00 2001 From: Sawy Date: Wed, 9 Oct 2024 14:38:40 +0300 Subject: [PATCH] CV2-5451: set confirmed before creation based on relationship type --- app/models/relationship.rb | 2 +- test/models/bot/smooch_2_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/models/relationship.rb b/app/models/relationship.rb index fdb9c62313..72324f27ea 100644 --- a/app/models/relationship.rb +++ b/app/models/relationship.rb @@ -18,7 +18,7 @@ class Relationship < ApplicationRecord validate :cant_be_related_to_itself validates :relationship_type, uniqueness: { scope: [:source_id, :target_id], message: :already_exists }, on: :create - before_create :destroy_same_suggested_item, if: proc { |r| r.is_confirmed? } + before_create :set_confirmed, :destroy_same_suggested_item, if: proc { |r| r.is_confirmed? } after_create :move_to_same_project_as_main, prepend: true after_create :point_targets_to_new_source, :update_counters, prepend: true after_update :reset_counters, prepend: true diff --git a/test/models/bot/smooch_2_test.rb b/test/models/bot/smooch_2_test.rb index 5813a6136c..0de9136059 100644 --- a/test/models/bot/smooch_2_test.rb +++ b/test/models/bot/smooch_2_test.rb @@ -109,6 +109,17 @@ def teardown r.destroy s = child.annotations.where(annotation_type: 'verification_status').last.load assert_equal 'undetermined', s.status + u = create_user + create_team_user team: @team, user: u, role: 'admin' + with_current_user_and_team(u, @team) do + child2 = create_project_media project: @project + s2 = child2.annotations.where(annotation_type: 'verification_status').last.load + assert_equal 'undetermined', s2.status + create_tipline_request team_id: @project.team_id, associated: child2, language: 'en', smooch_message_id: random_string, smooch_data: { app_id: @app_id, authorId: random_string, language: 'en' } + r = create_relationship source_id: parent.id, target_id: child2.id, relationship_type: Relationship.confirmed_type, user: @bot + s2 = child2.annotations.where(annotation_type: 'verification_status').last.load + assert_equal 'verified', s2.status + end end test "should send message to user when status changes" do