diff --git a/app/models/tipline_request.rb b/app/models/tipline_request.rb index 42e720c008..a1418746b3 100644 --- a/app/models/tipline_request.rb +++ b/app/models/tipline_request.rb @@ -19,21 +19,19 @@ def self.request_types after_commit :destroy_elasticsearch_field, on: :destroy def smooch_user_slack_channel_url - Concurrent::Future.execute(executor: CheckGraphql::POOL) do - return if self.smooch_data.blank? - slack_channel_url = '' - data = self.smooch_data - unless data.nil? - key = "SmoochUserSlackChannelUrl:Team:#{self.team_id}:#{data['authorId']}" - slack_channel_url = Rails.cache.read(key) - if slack_channel_url.blank? - obj = self.associated - slack_channel_url = get_slack_channel_url(obj, data) - Rails.cache.write(key, slack_channel_url) unless slack_channel_url.blank? - end + return if self.smooch_data.blank? + slack_channel_url = '' + data = self.smooch_data + unless data.nil? + key = "SmoochUserSlackChannelUrl:Team:#{self.team_id}:#{data['authorId']}" + slack_channel_url = Rails.cache.read(key) + if slack_channel_url.blank? + obj = self.associated + slack_channel_url = get_slack_channel_url(obj, data) + Rails.cache.write(key, slack_channel_url) unless slack_channel_url.blank? end - slack_channel_url end + slack_channel_url end def smooch_user_external_identifier diff --git a/test/models/project_media_2_test.rb b/test/models/project_media_2_test.rb index f37a6b745d..f8862acaf6 100644 --- a/test/models/project_media_2_test.rb +++ b/test/models/project_media_2_test.rb @@ -142,48 +142,47 @@ def setup end end - # Looks like this test is hanging (Caio) - # test "should index sortable fields" do - # RequestStore.store[:skip_cached_field_update] = false - # # sortable fields are [linked_items_count, last_seen and share_count] - # setup_elasticsearch - # Rails.stubs(:env).returns('development'.inquiry) - # team = create_team - # p = create_project team: team - # pm = create_project_media team: team, project_id: p.id, disable_es_callbacks: false - # result = $repository.find(get_es_id(pm)) - # assert_equal 1, result['linked_items_count'] - # assert_equal pm.created_at.to_i, result['last_seen'] - # assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) - # t = t0 = create_tipline_request(team_id: team.id, associated: pm).created_at.to_i - # result = $repository.find(get_es_id(pm)) - # assert_equal t, result['last_seen'] - # assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) + test "should index sortable fields" do + RequestStore.store[:skip_cached_field_update] = false + # sortable fields are [linked_items_count, last_seen and share_count] + setup_elasticsearch + Rails.stubs(:env).returns('development'.inquiry) + team = create_team + p = create_project team: team + pm = create_project_media team: team, project_id: p.id, disable_es_callbacks: false + result = $repository.find(get_es_id(pm)) + assert_equal 1, result['linked_items_count'] + assert_equal pm.created_at.to_i, result['last_seen'] + assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) + t = t0 = create_tipline_request(team_id: team.id, associated: pm).created_at.to_i + result = $repository.find(get_es_id(pm)) + assert_equal t, result['last_seen'] + assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) - # pm2 = create_project_media team: team, project_id: p.id, disable_es_callbacks: false - # r = create_relationship source_id: pm.id, target_id: pm2.id, relationship_type: Relationship.confirmed_type - # t = pm2.created_at.to_i - # result = $repository.find(get_es_id(pm)) - # result2 = $repository.find(get_es_id(pm2)) - # assert_equal 2, result['linked_items_count'] - # assert_equal 1, result2['linked_items_count'] - # assert_equal t, result['last_seen'] - # assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) + pm2 = create_project_media team: team, project_id: p.id, disable_es_callbacks: false + r = create_relationship source_id: pm.id, target_id: pm2.id, relationship_type: Relationship.confirmed_type + t = pm2.created_at.to_i + result = $repository.find(get_es_id(pm)) + result2 = $repository.find(get_es_id(pm2)) + assert_equal 2, result['linked_items_count'] + assert_equal 1, result2['linked_items_count'] + assert_equal t, result['last_seen'] + assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) - # t = create_tipline_request(team_id: team.id, associated: pm2).created_at.to_i - # result = $repository.find(get_es_id(pm)) - # assert_equal t, result['last_seen'] - # assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) + t = create_tipline_request(team_id: team.id, associated: pm2).created_at.to_i + result = $repository.find(get_es_id(pm)) + assert_equal t, result['last_seen'] + assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) - # r.destroy! - # result = $repository.find(get_es_id(pm)) - # assert_equal t0, result['last_seen'] - # assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) - # result = $repository.find(get_es_id(pm)) - # result2 = $repository.find(get_es_id(pm2)) - # assert_equal 1, result['linked_items_count'] - # assert_equal 1, result2['linked_items_count'] - # end + r.destroy! + result = $repository.find(get_es_id(pm)) + assert_equal t0, result['last_seen'] + assert_equal pm.reload.last_seen, pm.read_attribute(:last_seen) + result = $repository.find(get_es_id(pm)) + result2 = $repository.find(get_es_id(pm2)) + assert_equal 1, result['linked_items_count'] + assert_equal 1, result2['linked_items_count'] + end test "should get team" do t = create_team