diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 738f3d8f8827c5818f8e6c687f8c2160254109fd..3a439b2ea74439fd72b2b3d8af10fd630645d0a0 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -54,9 +54,9 @@ def award_state_class(awardable, awards, current_user) def awards_sort(awards) awards.sort_by do |award, award_emojis| case award - when "thumbsup" + when AwardEmoji::THUMBS_UP 0 - when "thumbsdown" + when AwardEmoji::THUMBS_DOWN 1 else 2 diff --git a/app/models/award_emoji.rb b/app/models/award_emoji.rb index 6db92efa8a0bee2521fb8d7da4a6d69ac46c466f..1eed0b6becea99aee09577e43d6fdcc0514f304b 100644 --- a/app/models/award_emoji.rb +++ b/app/models/award_emoji.rb @@ -1,8 +1,10 @@ # frozen_string_literal: true class AwardEmoji < ApplicationRecord - DOWNVOTE_NAME = "thumbsdown" - UPVOTE_NAME = "thumbsup" + THUMBS_UP = 'thumbsup' + THUMBS_DOWN = 'thumbsdown' + UPVOTE_NAME = THUMBS_UP + DOWNVOTE_NAME = THUMBS_DOWN include Participable include GhostUser diff --git a/app/services/concerns/integrations/project_test_data.rb b/app/services/concerns/integrations/project_test_data.rb index fe13a74c39218b7bf06c49f216ec830e79170d10..3e4159f68d3d3ee4f6b198cb8e3f4e71f0274ea0 100644 --- a/app/services/concerns/integrations/project_test_data.rb +++ b/app/services/concerns/integrations/project_test_data.rb @@ -87,7 +87,7 @@ def emoji_events_data award_emoji = AwardEmoji.new( id: 1, - name: 'thumbsup', + name: AwardEmoji::THUMBS_UP, user: current_user, awardable: project.notes.last, created_at: Time.zone.now, diff --git a/ee/spec/controllers/groups/epics/notes_controller_spec.rb b/ee/spec/controllers/groups/epics/notes_controller_spec.rb index 5a8f950a28db34f40375f63a6a7ce922ba2f8f3f..efc14e7ac857035a4aa0afce3afe71d0a940d4fa 100644 --- a/ee/spec/controllers/groups/epics/notes_controller_spec.rb +++ b/ee/spec/controllers/groups/epics/notes_controller_spec.rb @@ -217,17 +217,17 @@ def request it "toggles the award emoji" do expect do - post(:toggle_award_emoji, params: request_params.merge(name: "thumbsup")) + post(:toggle_award_emoji, params: request_params.merge(name: AwardEmoji::THUMBS_UP)) end.to change { note.award_emoji.count }.by(1) expect(response).to have_gitlab_http_status(:ok) end it "removes the already awarded emoji" do - post(:toggle_award_emoji, params: request_params.merge(name: "thumbsup")) + post(:toggle_award_emoji, params: request_params.merge(name: AwardEmoji::THUMBS_UP)) expect do - post(:toggle_award_emoji, params: request_params.merge(name: "thumbsup")) + post(:toggle_award_emoji, params: request_params.merge(name: AwardEmoji::THUMBS_UP)) end.to change { AwardEmoji.count }.by(-1) expect(response).to have_gitlab_http_status(:ok) diff --git a/ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb b/ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb index 26a55ad548a7f7cc823a119fa209a902922e0482..152c23e62cbc51d7509fdd69a871011a6cff17bb 100644 --- a/ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb +++ b/ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb @@ -252,7 +252,7 @@ def request end describe 'POST toggle_award_emoji' do - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } let(:request_params) do { id: note, diff --git a/ee/spec/finders/epics_finder_spec.rb b/ee/spec/finders/epics_finder_spec.rb index 3633f702b52bb515100b55cffd00628cfd22f014..549afd3fd17190bef1143f172faf12567ef430d8 100644 --- a/ee/spec/finders/epics_finder_spec.rb +++ b/ee/spec/finders/epics_finder_spec.rb @@ -95,7 +95,7 @@ def epics(params = {}) context 'by user reaction emoji' do it 'returns epics reacted to by user' do - create(:award_emoji, name: 'thumbsup', awardable: epic1, user: search_user) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic1, user: search_user) create(:award_emoji, name: 'star', awardable: epic3, user: search_user) expect(epics(my_reaction_emoji: 'star')).to contain_exactly(epic3) @@ -1022,7 +1022,7 @@ def execute end context 'with negated reaction emoji' do - let_it_be(:awarded_emoji) { create(:award_emoji, name: 'thumbsup', awardable: epic3, user: search_user) } + let_it_be(:awarded_emoji) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic3, user: search_user) } let_it_be(:params) { { not: { my_reaction_emoji: awarded_emoji.name } } } it 'returns all epics without given emoji name' do diff --git a/ee/spec/graphql/resolvers/boards/board_list_epics_resolver_spec.rb b/ee/spec/graphql/resolvers/boards/board_list_epics_resolver_spec.rb index cae2a6e573d5a795726a447741464bac05e7afdf..1fb763aa230249f82f3f34fed7472271b1020d4d 100644 --- a/ee/spec/graphql/resolvers/boards/board_list_epics_resolver_spec.rb +++ b/ee/spec/graphql/resolvers/boards/board_list_epics_resolver_spec.rb @@ -45,7 +45,7 @@ def resolve_board_list_epics(args: {}) let_it_be(:production_label) { create(:group_label, group: group, name: 'production') } let_it_be(:list1_epic3) { create(:labeled_epic, group: group, labels: [development, production_label], title: 'filter_this 1') } let_it_be(:list1_epic4) { create(:labeled_epic, group: group, labels: [development], description: 'filter_this 2') } - let_it_be(:awarded_emoji) { create(:award_emoji, name: 'thumbsup', awardable: list1_epic1, user: user) } + let_it_be(:awarded_emoji) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: list1_epic1, user: user) } subject(:results) { resolve(described_class, ctx: { current_user: user }, obj: list1, args: args) } diff --git a/ee/spec/graphql/resolvers/epics_resolver_spec.rb b/ee/spec/graphql/resolvers/epics_resolver_spec.rb index 3abe190628bd51189f18086530bcacf2b1fdce2b..313fd09cf064581bc2999919d980b0748e8c3db0 100644 --- a/ee/spec/graphql/resolvers/epics_resolver_spec.rb +++ b/ee/spec/graphql/resolvers/epics_resolver_spec.rb @@ -146,7 +146,7 @@ context 'with my_reaction_emoji' do it 'filters epics by reaction emoji' do create(:award_emoji, name: 'man_in_business_suit_levitating', user: current_user, awardable: epic1) - create(:award_emoji, name: 'thumbsdown', user: current_user, awardable: epic2) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: current_user, awardable: epic2) epics = resolve_epics(my_reaction_emoji: 'man_in_business_suit_levitating') @@ -319,7 +319,7 @@ let_it_be(:epic_1) { create(:labeled_epic, group: group, labels: [label]) } let_it_be(:epic_2) { create(:epic, group: group, author: author) } let_it_be(:epic_3) { create(:epic, group: group) } - let_it_be(:awarded_emoji) { create(:award_emoji, name: 'thumbsup', awardable: epic_3, user: current_user) } + let_it_be(:awarded_emoji) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic_3, user: current_user) } subject(:results) { resolve_epics(args) } diff --git a/ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb b/ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb index 3af41f34b3f3b4339ee803f04afd227a79508482..25e3bceb8df1a1cb4fe760d21bbcc539ac44388d 100644 --- a/ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb +++ b/ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb @@ -35,7 +35,9 @@ let_it_be(:issue_with_iteration) { create(:issue, project: project_1, assignees: [other_user]) } let_it_be(:issue_with_epic) { create(:issue, project: project_2, labels: [label], milestone: milestone) } - let_it_be(:award_emoji) { create(:award_emoji, name: 'thumbsup', user: user, awardable: issue_with_epic) } + let_it_be(:award_emoji) do + create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user, awardable: issue_with_epic) + end let_it_be(:stage) do create(:cycle_analytics_stage, @@ -213,7 +215,7 @@ context 'when filtering by my_reaction_emoji' do it 'filters by my_reaction_emoji' do - params[:my_reaction_emoji] = 'thumbsup' + params[:my_reaction_emoji] = AwardEmoji::THUMBS_UP expect(issue_ids).to eq([stage_event_2.issue_id]) end @@ -228,7 +230,7 @@ context 'when the filter is negated' do it 'returns items without the given rection emoji' do - params[:not] = { my_reaction_emoji: 'thumbsup' } + params[:not] = { my_reaction_emoji: AwardEmoji::THUMBS_UP } expect(issue_ids).to eq([stage_event_1.issue_id]) end @@ -270,7 +272,9 @@ create(:merge_request, :unique_branches, source_project: project_1, target_project: project_1, labels: [label]) end - let_it_be(:award_emoji) { create(:award_emoji, name: 'thumbsup', user: user, awardable: merge_request_with_label) } + let_it_be(:award_emoji) do + create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user, awardable: merge_request_with_label) + end let_it_be(:stage) do create(:cycle_analytics_stage, @@ -327,7 +331,7 @@ context 'when filtering by my_reaction_emoji' do it 'filters by my_reaction_emoji' do - params[:my_reaction_emoji] = 'thumbsup' + params[:my_reaction_emoji] = AwardEmoji::THUMBS_UP expect(merge_request_ids).to eq([stage_event_2.merge_request_id]) end @@ -342,7 +346,7 @@ context 'when the filter is negated' do it 'returns items without the given rection emoji' do - params[:not] = { my_reaction_emoji: 'thumbsup' } + params[:not] = { my_reaction_emoji: AwardEmoji::THUMBS_UP } expect(merge_request_ids).to eq([stage_event_1.merge_request_id]) end diff --git a/ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb b/ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb index dba78871a1c2e6e1a91fed07e3a0150346fe06eb..63a9edc1306077ef0288e0bfc4df36b115cc6024 100644 --- a/ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb +++ b/ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb @@ -36,7 +36,7 @@ end it 'has award emoji' do - expect(group.epics.find_by_iid(1).award_emoji.first.name).to eq('thumbsup') + expect(group.epics.find_by_iid(1).award_emoji.first.name).to eq(AwardEmoji::THUMBS_UP) end it 'preserves epic state' do diff --git a/ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb b/ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb index 1691b240fdd691f5886786ace6f4258edb096577..dc237b24f8b016c032075ef1d26a71445a5d991d 100644 --- a/ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb +++ b/ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb @@ -185,7 +185,7 @@ def json_project(project) value_stream: stage.value_stream, epic_id: 1, iteration_id: 2, - my_reaction_emoji: 'thumbsup', + my_reaction_emoji: AwardEmoji::THUMBS_UP, weight: 5 ) end @@ -200,7 +200,7 @@ def json_project(project) expect(subject[:stage]).to eq(%({"id":#{stage.id},"title":"#{stage.name}"})) expect(subject[:epic_id]).to eq(1) expect(subject[:iteration_id]).to eq(2) - expect(subject[:my_reaction_emoji]).to eq('thumbsup') + expect(subject[:my_reaction_emoji]).to eq(AwardEmoji::THUMBS_UP) expect(subject[:weight]).to eq(5) expect(subject[:enable_vsd_link]).to eq('true') end diff --git a/ee/spec/models/epic_spec.rb b/ee/spec/models/epic_spec.rb index e47b8f34e00089de9e96cd5fe13b3f09801ba5f1..c606ec76b2966c5b7f059b51e7d5b13825e17b28 100644 --- a/ee/spec/models/epic_spec.rb +++ b/ee/spec/models/epic_spec.rb @@ -37,8 +37,8 @@ let_it_be(:emoji_2) { create(:award_emoji, :downvote, awardable: epic, user: create(:user)) } it 'returns union of award emoji from epic and its associated work item', :aggregate_failures do - expect(epic.award_emoji.pluck(:name)).to match_array(%w[thumbsup thumbsdown]) - expect(work_item.award_emoji.pluck(:name)).to match_array(%w[thumbsup thumbsdown]) + expect(epic.award_emoji.pluck(:name)).to match_array([AwardEmoji::THUMBS_UP, AwardEmoji::THUMBS_DOWN]) + expect(work_item.award_emoji.pluck(:name)).to match_array([AwardEmoji::THUMBS_UP, AwardEmoji::THUMBS_DOWN]) end it 'reads participants from award emoji on epic and its associated work item' do @@ -90,8 +90,8 @@ end it 'reads emojis only from epic' do - expect(epic.award_emoji.pluck(:name)).to match_array(%w[thumbsdown]) - expect(work_item.award_emoji.pluck(:name)).to match_array(%w[thumbsup]) + expect(epic.award_emoji.pluck(:name)).to match_array([AwardEmoji::THUMBS_DOWN]) + expect(work_item.award_emoji.pluck(:name)).to match_array([AwardEmoji::THUMBS_UP]) end end @@ -102,8 +102,8 @@ end it 'returns award emoji only from epic' do - expect(epic.award_emoji.pluck(:name)).to match_array(%w[thumbsdown]) - expect(work_item.award_emoji.pluck(:name)).to match_array(%w[thumbsup]) + expect(epic.award_emoji.pluck(:name)).to match_array([AwardEmoji::THUMBS_DOWN]) + expect(work_item.award_emoji.pluck(:name)).to match_array([AwardEmoji::THUMBS_UP]) end end end diff --git a/ee/spec/requests/api/award_emoji_spec.rb b/ee/spec/requests/api/award_emoji_spec.rb index a7e817f7c262b4b65c0e9778540592d77bd61f6a..2cc298570abb6dbecd489c23ce5e69a6797352e5 100644 --- a/ee/spec/requests/api/award_emoji_spec.rb +++ b/ee/spec/requests/api/award_emoji_spec.rb @@ -93,7 +93,7 @@ end it "returns a 404 if the user is not authenticated" do - post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji"), params: { name: 'thumbsup' } + post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji"), params: { name: AwardEmoji::THUMBS_UP } expect(response).to have_gitlab_http_status(:not_found) end @@ -101,13 +101,13 @@ it "normalizes +1 as thumbsup award" do post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji", user), params: { name: '+1' } - expect(epic.award_emoji.last.name).to eq("thumbsup") + expect(epic.award_emoji.last.name).to eq(AwardEmoji::THUMBS_UP) end context 'when the emoji already has been awarded' do it 'returns a 404 status code' do - post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji", user), params: { name: 'thumbsup' } - post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji", user), params: { name: 'thumbsup' } + post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji", user), params: { name: AwardEmoji::THUMBS_UP } + post api("/groups/#{group.id}/epics/#{epic.iid}/award_emoji", user), params: { name: AwardEmoji::THUMBS_UP } expect(response).to have_gitlab_http_status(:not_found) expect(json_response["message"]).to match("has already been taken") @@ -136,10 +136,10 @@ expect(todo.reload).to be_done end - it "normalizes +1 as thumbsup award" do + it "normalizes +1 as thumbs_up award" do post api("/groups/#{group.id}/epics/#{epic.iid}/notes/#{note.id}/award_emoji", user), params: { name: '+1' } - expect(note.award_emoji.last.name).to eq("thumbsup") + expect(note.award_emoji.last.name).to eq(AwardEmoji::THUMBS_UP) end context 'when the emoji already has been awarded' do diff --git a/ee/spec/requests/api/epics_spec.rb b/ee/spec/requests/api/epics_spec.rb index ed8edfc52c51a805a2661715d61e3098ca90806b..098204cef2269a8695a48b0a942344ce96edb9cf 100644 --- a/ee/spec/requests/api/epics_spec.rb +++ b/ee/spec/requests/api/epics_spec.rb @@ -275,8 +275,8 @@ end it 'has upvote/downvote information' do - create(:award_emoji, name: 'thumbsup', awardable: epic, user: user) - create(:award_emoji, name: 'thumbsdown', awardable: epic2, user: user) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic, user: user) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: epic2, user: user) get api(url) diff --git a/ee/spec/requests/api/graphql/epics/epics_spec.rb b/ee/spec/requests/api/graphql/epics/epics_spec.rb index 30414d4a02a9059f3741baab199028b37c2fae8f..4d3a31275d6395236dc6fa12720b40d1d5edec4d 100644 --- a/ee/spec/requests/api/graphql/epics/epics_spec.rb +++ b/ee/spec/requests/api/graphql/epics/epics_spec.rb @@ -231,11 +231,11 @@ def query_epics_which_start_with_iid(iid) create(:epic, group: group) do |epic| create(:award_emoji, name: 'rocket', awardable: epic) create(:award_emoji, name: 'eyes', awardable: epic.sync_object) - create(:award_emoji, name: 'thumbsup', awardable: epic) - create(:award_emoji, name: 'thumbsup', awardable: epic.sync_object) - create(:award_emoji, name: 'thumbsdown', awardable: epic) - create(:award_emoji, name: 'thumbsdown', awardable: epic) - create(:award_emoji, name: 'thumbsdown', awardable: epic.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: epic) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: epic) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: epic.sync_object) end end @@ -269,7 +269,8 @@ def query_epics_which_start_with_iid(iid) expect(response.map do |emoji| emoji['user']['username'] end.uniq).to match_array(epic.award_emoji.map(&:user).map(&:username).uniq) - expect(response.pluck('name').uniq).to match_array(%w[eyes rocket thumbsup thumbsdown]) + expect(response.pluck('name').uniq) + .to match_array(%W[eyes rocket #{AwardEmoji::THUMBS_UP} #{AwardEmoji::THUMBS_DOWN}]) end it 'includes unified upvotes and downvotes' do @@ -307,10 +308,10 @@ def execute_query before do create(:award_emoji, awardable: epic_a, user: user) create(:award_emoji, awardable: epic_b, user: user) - create(:award_emoji, name: 'thumbsup', awardable: epic_a) - create(:award_emoji, name: 'thumbsup', awardable: epic_a.sync_object) - create(:award_emoji, name: 'thumbsup', awardable: epic_b) - create(:award_emoji, name: 'thumbsdown', awardable: epic_b.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic_a) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic_a.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic_b) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: epic_b.sync_object) end include_examples 'N+1 query check', threshold: 1 diff --git a/ee/spec/requests/api/graphql/group/epics_spec.rb b/ee/spec/requests/api/graphql/group/epics_spec.rb index f2004d8336c53ad74d353b27c162eb737c77340d..70ffcdf910089569a3c98a7bf3defa92541824de 100644 --- a/ee/spec/requests/api/graphql/group/epics_spec.rb +++ b/ee/spec/requests/api/graphql/group/epics_spec.rb @@ -166,8 +166,8 @@ def global_ids(*epics) end it 'has upvote/downvote information' do - create(:award_emoji, name: 'thumbsup', awardable: epic, user: user) - create(:award_emoji, name: 'thumbsdown', awardable: epic2, user: user) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic, user: user) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: epic2, user: user) post_graphql(query, current_user: user) @@ -491,8 +491,8 @@ def global_ids(*epics) let(:requested_fields) { [:upvotes, :downvotes] } before do - create_list(:award_emoji, 2, name: 'thumbsup', awardable: epic_a) - create_list(:award_emoji, 2, name: 'thumbsdown', awardable: epic_b) + create_list(:award_emoji, 2, name: AwardEmoji::THUMBS_UP, awardable: epic_a) + create_list(:award_emoji, 2, name: AwardEmoji::THUMBS_DOWN, awardable: epic_b) end include_examples 'N+1 query check' diff --git a/ee/spec/requests/api/graphql/group/work_items_spec.rb b/ee/spec/requests/api/graphql/group/work_items_spec.rb index b0be1776cbb49a1c18689b7c8f18ee6e02f4e7a0..f941a191f6ca0a32d52e11564ef76940e07f5849 100644 --- a/ee/spec/requests/api/graphql/group/work_items_spec.rb +++ b/ee/spec/requests/api/graphql/group/work_items_spec.rb @@ -85,7 +85,7 @@ ) do |work_item| create(:award_emoji, name: 'eyes', awardable: work_item) create(:award_emoji, name: 'rocket', awardable: work_item.sync_object) - create(:award_emoji, name: 'thumbsup', awardable: work_item.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: work_item.sync_object) end expect do @@ -169,10 +169,10 @@ end it 'fetches unified upvotes and downvotes' do - create(:award_emoji, name: 'thumbsup', awardable: group_work_item) - create(:award_emoji, name: 'thumbsup', awardable: group_work_item.sync_object) - create(:award_emoji, name: 'thumbsup', awardable: group_work_item.sync_object) - create(:award_emoji, name: 'thumbsdown', awardable: group_work_item.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: group_work_item) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: group_work_item.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: group_work_item.sync_object) + create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: group_work_item.sync_object) post_graphql(query, current_user: current_user) diff --git a/ee/spec/requests/api/graphql/work_item_spec.rb b/ee/spec/requests/api/graphql/work_item_spec.rb index b5c3accf1dec818c05146fda6e4b20caef95fd24..bf2aeaf77253f65b317013adc3253171cae1a351 100644 --- a/ee/spec/requests/api/graphql/work_item_spec.rb +++ b/ee/spec/requests/api/graphql/work_item_spec.rb @@ -1488,9 +1488,9 @@ def find_note(work_item, starting_with) users = create_list(:user, 6) # Add 3 participant to the legacy epic - create(:award_emoji, name: 'thumbsup', awardable: work_item, user: users[0]) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: work_item, user: users[0]) note = create(:note, noteable: work_item.synced_epic, author: users[1], project: project) - create(:award_emoji, name: 'thumbsup', awardable: note, user: users[2]) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: note, user: users[2]) post_graphql(query, current_user: current_user) # warm-up @@ -1499,9 +1499,9 @@ def find_note(work_item, starting_with) end # Add 3 more participants to the legacy epic - create(:award_emoji, name: 'thumbsup', awardable: work_item.synced_epic, user: users[3]) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: work_item.synced_epic, user: users[3]) note = create(:note, noteable: work_item.synced_epic, author: users[4], project: project) - create(:award_emoji, name: 'thumbsup', awardable: note, user: users[5]) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: note, user: users[5]) expect do post_graphql(query, current_user: current_user) diff --git a/ee/spec/requests/ee/projects/cycle_analytics_controller_spec.rb b/ee/spec/requests/ee/projects/cycle_analytics_controller_spec.rb index 5d9e15e83ca79ee67f5eb1228d225c0a81bd4aae..92904875d030e0083ca5527a899870c6c1f3d6e1 100644 --- a/ee/spec/requests/ee/projects/cycle_analytics_controller_spec.rb +++ b/ee/spec/requests/ee/projects/cycle_analytics_controller_spec.rb @@ -23,7 +23,9 @@ end context 'when extra query params are given' do - let(:extra_query_params) { { weight: '3', epic_id: '1', iteration_id: '2', my_reaction_emoji: 'thumbsup' } } + let(:extra_query_params) do + { weight: '3', epic_id: '1', iteration_id: '2', my_reaction_emoji: AwardEmoji::THUMBS_UP } + end context 'when not licensed' do it 'does not expose unsupported query params' do @@ -47,7 +49,7 @@ expect(body).to include('data-weight="3"') expect(body).to include('data-epic-id="1"') expect(body).to include('data-iteration-id="2"') - expect(body).to include('data-my-reaction-emoji="thumbsup"') + expect(body).to include(%(data-my-reaction-emoji="#{AwardEmoji::THUMBS_UP}")) end end end diff --git a/ee/spec/requests/groups/analytics/cycle_analytics_controller_spec.rb b/ee/spec/requests/groups/analytics/cycle_analytics_controller_spec.rb index 6ca95014655ace1349af7605ed9e4df9906723e7..ac8da99d781a96eadd19424d00d2b9b80e26ac93 100644 --- a/ee/spec/requests/groups/analytics/cycle_analytics_controller_spec.rb +++ b/ee/spec/requests/groups/analytics/cycle_analytics_controller_spec.rb @@ -15,7 +15,7 @@ it 'exposes the query params in data attributes' do stub_licensed_features(cycle_analytics_for_groups: true) - extra_query_params = { weight: '3', epic_id: '1', iteration_id: '2', my_reaction_emoji: 'thumbsup' } + extra_query_params = { weight: '3', epic_id: '1', iteration_id: '2', my_reaction_emoji: AwardEmoji::THUMBS_UP } expect_next_instance_of(Gitlab::Analytics::CycleAnalytics::RequestParams) do |instance| expect(instance).to have_attributes(**extra_query_params) @@ -26,6 +26,6 @@ expect(body).to include('data-weight="3"') expect(body).to include('data-epic-id="1"') expect(body).to include('data-iteration-id="2"') - expect(body).to include('data-my-reaction-emoji="thumbsup"') + expect(body).to include(%(data-my-reaction-emoji="#{AwardEmoji::THUMBS_UP}")) end end diff --git a/ee/spec/services/award_emojis/add_service_spec.rb b/ee/spec/services/award_emojis/add_service_spec.rb index 15a2f3ace6826e2ea6729ae0e3fa94792855a126..15b717657a2df24f9177824c90a3616a2dd46201 100644 --- a/ee/spec/services/award_emojis/add_service_spec.rb +++ b/ee/spec/services/award_emojis/add_service_spec.rb @@ -8,7 +8,7 @@ let_it_be(:project) { create(:project, group: group) } let_it_be(:awardable) { create(:note_on_issue, project: project) } - let(:name) { 'thumbsup' } + let(:name) { AwardEmoji::THUMBS_UP } let(:service) { described_class.new(awardable, name, user) } diff --git a/ee/spec/services/award_emojis/destroy_service_spec.rb b/ee/spec/services/award_emojis/destroy_service_spec.rb index 7867e7e922e9a0958b38f99d3e36420839d7a18f..536df613959d1252e49e640c48a8a96051b91c87 100644 --- a/ee/spec/services/award_emojis/destroy_service_spec.rb +++ b/ee/spec/services/award_emojis/destroy_service_spec.rb @@ -8,7 +8,7 @@ let_it_be(:project) { create(:project, group: group) } let_it_be(:awardable) { create(:note_on_issue, project: project) } - let(:name) { 'thumbsup' } + let(:name) { AwardEmoji::THUMBS_UP } let(:service) { described_class.new(awardable, name, user) } diff --git a/ee/spec/services/ee/notes/update_service_spec.rb b/ee/spec/services/ee/notes/update_service_spec.rb index ee6625b113a5b9de57ff23b9c2a53ad6d35a8533..22f01c7e2c5b5c7895db77f2e6b79028e9b71ba0 100644 --- a/ee/spec/services/ee/notes/update_service_spec.rb +++ b/ee/spec/services/ee/notes/update_service_spec.rb @@ -29,7 +29,7 @@ include_examples 'trigger status page publish' context 'without recognized emoji' do - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } include_examples 'no trigger status page publish' end diff --git a/ee/spec/services/status_page/trigger_publish_service_spec.rb b/ee/spec/services/status_page/trigger_publish_service_spec.rb index 497655686346dd71f0558993a4e893b824901fa1..aa7a42c06db6a0ff9de80472dd275511354de1d4 100644 --- a/ee/spec/services/status_page/trigger_publish_service_spec.rb +++ b/ee/spec/services/status_page/trigger_publish_service_spec.rb @@ -147,7 +147,7 @@ end context 'without recognized emoji' do - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } context 'when changed' do include_examples 'no trigger status page publish' do @@ -196,7 +196,7 @@ include_examples 'trigger status page publish' context 'without recognized emoji' do - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } include_examples 'no trigger status page publish' end diff --git a/ee/spec/support/analytics/cycle_analytics/flow_metrics_examples.rb b/ee/spec/support/analytics/cycle_analytics/flow_metrics_examples.rb index 7edbe26773db4f63e418b8f9734e9bd884adaf8b..447bb54bdbe3a5155c1cd65db97e3163f2049603 100644 --- a/ee/spec/support/analytics/cycle_analytics/flow_metrics_examples.rb +++ b/ee/spec/support/analytics/cycle_analytics/flow_metrics_examples.rb @@ -309,9 +309,9 @@ let_it_be(:epic_issue) { create(:epic_issue, epic: epic, issue: issue3) } before_all do - create(:award_emoji, name: 'thumbsup', user: current_user, awardable: issue2) - create(:award_emoji, name: 'thumbsup', user: current_user, awardable: issue3) - create(:award_emoji, name: 'thumbsup', user: current_user, awardable: issue4) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: current_user, awardable: issue2) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: current_user, awardable: issue3) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: current_user, awardable: issue4) end let(:query) do @@ -421,7 +421,7 @@ path: full_path, from: 21.days.ago.iso8601, to: 10.days.ago.iso8601, - notMyReactionEmoji: 'thumbsup' + notMyReactionEmoji: AwardEmoji::THUMBS_UP } end diff --git a/ee/spec/support/shared_examples/finders/epics_findable_examples.rb b/ee/spec/support/shared_examples/finders/epics_findable_examples.rb index 1e01e452960b1dbc4d579d49a5cc0c1bfb6de6de..e5ea97fe12adb8323d5ccfc77415e6fdf9cb66df 100644 --- a/ee/spec/support/shared_examples/finders/epics_findable_examples.rb +++ b/ee/spec/support/shared_examples/finders/epics_findable_examples.rb @@ -35,7 +35,7 @@ context 'with user reaction emoji' do it 'returns epics reacted to by user' do - create(:award_emoji, name: 'thumbsup', awardable: epic1, user: search_user) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: epic1, user: search_user) create(:award_emoji, name: 'star', awardable: epic3, user: search_user) expect(epics(my_reaction_emoji: 'star')).to contain_exactly(epic3) diff --git a/ee/spec/support/shared_examples/finders/filter_by_unified_emoji_association.rb b/ee/spec/support/shared_examples/finders/filter_by_unified_emoji_association.rb index 8288e5c4e8c425175ea50db3431bdc3ca2d9f730..dbb2661fd5b8b4f79779be17776a2dfff0ae946f 100644 --- a/ee/spec/support/shared_examples/finders/filter_by_unified_emoji_association.rb +++ b/ee/spec/support/shared_examples/finders/filter_by_unified_emoji_association.rb @@ -10,7 +10,7 @@ end before_all do - create(:award_emoji, name: 'thumbsup', awardable: object1, user: user) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: object1, user: user) create(:award_emoji, name: 'eyes', awardable: object1.sync_object, user: user) create(:award_emoji, name: 'rocket', awardable: object2.sync_object, user: user) create(:award_emoji, name: 'eyes', awardable: object3, user: user) diff --git a/qa/qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb b/qa/qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb index c6b52170d43fef84b6affee03cb3b7a2be6a1ee9..8b78ecb0c22d515d758204bcb80cf7c97ab621a1 100644 --- a/qa/qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb +++ b/qa/qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb @@ -39,8 +39,8 @@ def find_epic(epics, title) labels: 'label1,label2', parent_id: parent_epic.id) - child_epic.award_emoji('thumbsup') - child_epic.award_emoji('thumbsdown') + child_epic.award_emoji(AwardEmoji::THUMBS_UP) + child_epic.award_emoji(AwardEmoji::THUMBS_DOWN) source_iteration end diff --git a/spec/controllers/autocomplete_controller_spec.rb b/spec/controllers/autocomplete_controller_spec.rb index cbe0319a78d427d145eaf68d6f9699db716c542a..257cb6adc007568ad13090a3bb86d2c57f4eebbb 100644 --- a/spec/controllers/autocomplete_controller_spec.rb +++ b/spec/controllers/autocomplete_controller_spec.rb @@ -344,8 +344,8 @@ def request context 'GET award_emojis', feature_category: :team_planning do let(:user2) { create(:user) } - let!(:award_emoji1) { create_list(:award_emoji, 2, user: user, name: 'thumbsup') } - let!(:award_emoji2) { create_list(:award_emoji, 1, user: user, name: 'thumbsdown') } + let!(:award_emoji1) { create_list(:award_emoji, 2, user: user, name: AwardEmoji::THUMBS_UP) } + let!(:award_emoji2) { create_list(:award_emoji, 1, user: user, name: AwardEmoji::THUMBS_DOWN) } let!(:award_emoji3) { create_list(:award_emoji, 3, user: user, name: 'star') } let!(:award_emoji4) { create_list(:award_emoji, 1, user: user, name: 'tea') } @@ -373,9 +373,9 @@ def request expect(json_response.count).to eq 4 expect(json_response[0]).to match('name' => 'star') - expect(json_response[1]).to match('name' => 'thumbsup') + expect(json_response[1]).to match('name' => AwardEmoji::THUMBS_UP) expect(json_response[2]).to match('name' => 'tea') - expect(json_response[3]).to match('name' => 'thumbsdown') + expect(json_response[3]).to match('name' => AwardEmoji::THUMBS_DOWN) end end end diff --git a/spec/controllers/concerns/issuable_collections_spec.rb b/spec/controllers/concerns/issuable_collections_spec.rb index c3b8bc0b41b33d6826c5894b35b010a954cd56e9..8a2175e463579ace06ce575b0e80ec5314e6532d 100644 --- a/spec/controllers/concerns/issuable_collections_spec.rb +++ b/spec/controllers/concerns/issuable_collections_spec.rb @@ -80,7 +80,7 @@ def finder_type iids: '4', label_name: 'foo', milestone_title: 'bar', - my_reaction_emoji: 'thumbsup', + my_reaction_emoji: AwardEmoji::THUMBS_UP, non_archived: 'true', project_id: '5', scope: 'all', @@ -100,7 +100,7 @@ def finder_type 'confidential' => true, 'label_name' => 'foo', 'milestone_title' => 'bar', - 'my_reaction_emoji' => 'thumbsup', + 'my_reaction_emoji' => AwardEmoji::THUMBS_UP, 'due_date' => '2017-01-01', 'scope' => 'all', 'search' => 'baz', diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb index 663dff0b0d250b4a067a15c89076c4d8caac90df..4c54a5aa47d79176c6db7e5f0b51c04f949ccc44 100644 --- a/spec/controllers/projects/issues_controller_spec.rb +++ b/spec/controllers/projects/issues_controller_spec.rb @@ -1519,7 +1519,7 @@ def post_spam }) end - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } it "toggles the award emoji" do expect do diff --git a/spec/controllers/projects/notes_controller_spec.rb b/spec/controllers/projects/notes_controller_spec.rb index 3032783eef55ac55b3f1a3f10591645f82dc6243..2f848125b10008828503a64c15bf26b623373daa 100644 --- a/spec/controllers/projects/notes_controller_spec.rb +++ b/spec/controllers/projects/notes_controller_spec.rb @@ -536,7 +536,7 @@ def create! context 'when creating a note with quick actions' do context 'with commands that return changes' do - let(:note_text) { "/react :thumbsup:\n/estimate 1d\n/spend 3h" } + let(:note_text) { "/react :#{AwardEmoji::THUMBS_UP}:\n/estimate 1d\n/spend 3h" } let(:extra_request_params) { { format: :json } } it 'includes changes in commands_changes' do @@ -1011,7 +1011,7 @@ def request subject { post(:toggle_award_emoji, params: request_params.merge(name: emoji_name)) } - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } it { is_expected.to have_request_urgency(:low) } diff --git a/spec/controllers/snippets/notes_controller_spec.rb b/spec/controllers/snippets/notes_controller_spec.rb index 834415a5c87ab26d3e23e150ec2a077e3873085c..302ed97cf02efec21b772cb7502aa37f10eca8ac 100644 --- a/spec/controllers/snippets/notes_controller_spec.rb +++ b/spec/controllers/snippets/notes_controller_spec.rb @@ -369,7 +369,7 @@ def request describe 'POST toggle_award_emoji' do let(:note) { create(:note_on_personal_snippet, noteable: public_snippet) } - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } before do sign_in(user) diff --git a/spec/controllers/snippets_controller_spec.rb b/spec/controllers/snippets_controller_spec.rb index 86b1771c056b8f584f2636d5e8490e7e8065c527..49a22338df086871cd4e91f94d6ec686d531eba8 100644 --- a/spec/controllers/snippets_controller_spec.rb +++ b/spec/controllers/snippets_controller_spec.rb @@ -407,17 +407,17 @@ def mark_as_spam describe 'POST #toggle_award_emoji' do it "toggles the award emoji" do expect do - post(:toggle_award_emoji, params: { id: personal_snippet.to_param, name: "thumbsup" }) + post(:toggle_award_emoji, params: { id: personal_snippet.to_param, name: AwardEmoji::THUMBS_UP }) end.to change { personal_snippet.award_emoji.count }.from(0).to(1) expect(response).to have_gitlab_http_status(:ok) end it "removes the already awarded emoji" do - post(:toggle_award_emoji, params: { id: personal_snippet.to_param, name: "thumbsup" }) + post(:toggle_award_emoji, params: { id: personal_snippet.to_param, name: AwardEmoji::THUMBS_UP }) expect do - post(:toggle_award_emoji, params: { id: personal_snippet.to_param, name: "thumbsup" }) + post(:toggle_award_emoji, params: { id: personal_snippet.to_param, name: AwardEmoji::THUMBS_UP }) end.to change { personal_snippet.award_emoji.count }.from(1).to(0) expect(response).to have_gitlab_http_status(:ok) diff --git a/spec/factories/award_emoji.rb b/spec/factories/award_emoji.rb index d0b525e165da3ec9c34831bf29fdb058d0818f76..ad8e5de883813da8247627c53a4550d1006b6a9b 100644 --- a/spec/factories/award_emoji.rb +++ b/spec/factories/award_emoji.rb @@ -2,13 +2,13 @@ FactoryBot.define do factory :award_emoji do - name { "thumbsup" } + name { AwardEmoji::THUMBS_UP } user awardable factory: :issue trait :upvote trait :downvote do - name { "thumbsdown" } + name { AwardEmoji::THUMBS_DOWN } end end end diff --git a/spec/factories/notes.rb b/spec/factories/notes.rb index c99dc35d577e83e8b749461317320c4da314ccfa..336426ba0bf96de606c613124fd5bb6f4b50ac86 100644 --- a/spec/factories/notes.rb +++ b/spec/factories/notes.rb @@ -197,11 +197,11 @@ end trait :downvote do - note { "thumbsdown" } + note { AwardEmoji::THUMBS_DOWN } end trait :upvote do - note { "thumbsup" } + note { AwardEmoji::THUMBS_UP } end trait :with_attachment do diff --git a/spec/features/boards/board_filters_spec.rb b/spec/features/boards/board_filters_spec.rb index 403e9a9e09e294899803c27c960c57180fc7fafa..69b338e6ab588219f48a2c60a9018ca3b1dedf87 100644 --- a/spec/features/boards/board_filters_spec.rb +++ b/spec/features/boards/board_filters_spec.rb @@ -13,7 +13,7 @@ let_it_be(:release_2) { create(:release, tag: 'v2.0', project: project, milestones: [milestone_2]) } let_it_be(:issue_1) { create(:issue, project: project, milestone: milestone_1, author: user) } let_it_be(:issue_2) { create(:labeled_issue, project: project, milestone: milestone_2, assignees: [user], labels: [project_label], confidential: true) } - let_it_be(:award_emoji1) { create(:award_emoji, name: 'thumbsup', user: user, awardable: issue_1) } + let_it_be(:award_emoji1) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user, awardable: issue_1) } let(:filtered_search) { find_by_testid('issue-board-filtered-search') } let(:filter_input) { find('.gl-filtered-search-term-input') } @@ -159,7 +159,7 @@ expect_filtered_search_dropdown_results(filter_dropdown, 3) - click_on 'thumbsup' + click_on AwardEmoji::THUMBS_UP filter_submit.click expect(find('[data-testid="board-list"]:nth-child(1)')).to have_selector('.board-card', count: 1) diff --git a/spec/features/issues/filtered_search/dropdown_emoji_spec.rb b/spec/features/issues/filtered_search/dropdown_emoji_spec.rb index 5cd1e4cfb574cfbb772a1a3439c930de3fe2c55e..681e698b7fcbb9b9ed921c519f8b6eec94bc486e 100644 --- a/spec/features/issues/filtered_search/dropdown_emoji_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_emoji_spec.rb @@ -12,8 +12,8 @@ before do project.add_maintainer(user) - create_list(:award_emoji, 2, user: user, name: 'thumbsup') - create_list(:award_emoji, 1, user: user, name: 'thumbsdown') + create_list(:award_emoji, 2, user: user, name: AwardEmoji::THUMBS_UP) + create_list(:award_emoji, 1, user: user, name: AwardEmoji::THUMBS_DOWN) create_list(:award_emoji, 3, user: user, name: 'star') end @@ -42,7 +42,7 @@ it 'loads all the emojis when opened' do select_tokens 'My-Reaction', '=' - # Expect None, Any, star, thumbsup, thumbsdown + # Expect None, Any, star, thumbs_up, thumbs_down expect_suggestion_count 5 end diff --git a/spec/features/issues/user_interacts_with_awards_spec.rb b/spec/features/issues/user_interacts_with_awards_spec.rb index a309177eec450273b4717078c8f4be1e1fe0d119..b7eac558e208ad7b8715357002b9375e34151a2a 100644 --- a/spec/features/issues/user_interacts_with_awards_spec.rb +++ b/spec/features/issues/user_interacts_with_awards_spec.rb @@ -18,7 +18,7 @@ visit(project_issue_path(project, issue)) end - it 'toggles the thumbsup award emoji', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/27959' do + it 'toggles the thumbs_up award emoji', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/27959' do page.within('.awards') do thumbsup = page.first('.award-control') thumbsup.click @@ -281,14 +281,14 @@ wait_for_requests end - context 'click the thumbsdown emoji' do - it 'increments the thumbsdown emoji', :js do - find('[data-name="thumbsdown"]').click + context 'click the thumbs_down emoji' do + it 'increments the thumbs_down emoji', :js do + find(%([data-name="#{AwardEmoji::THUMBS_DOWN}"])).click wait_for_requests expect(thumbsdown_emoji).to have_text("1") end - it 'decrements the thumbsup emoji', :js do + it 'decrements the thumbs_up emoji', :js do expect(thumbsup_emoji).to have_text("0") end end diff --git a/spec/features/markdown/copy_as_gfm_spec.rb b/spec/features/markdown/copy_as_gfm_spec.rb index 73eb73977ea91f4db74588a13c60f0dab8fdb5a2..13d85ad4db7d25bac33b31d0b0b06d2c30605649 100644 --- a/spec/features/markdown/copy_as_gfm_spec.rb +++ b/spec/features/markdown/copy_as_gfm_spec.rb @@ -29,7 +29,7 @@ it 'transforms HTML to GFM', :aggregate_failures do verify( 'nesting', - '> 1. [x] [**$`2 + 2`$ {-=-}{+=+} 2^2 ~~:thumbsup:~~**](http://google.com)' + "> 1. [x] [**$`2 + 2`$ {-=-}{+=+} 2^2 ~~:#{AwardEmoji::THUMBS_UP}:~~**](http://google.com)" ) verify( @@ -166,7 +166,7 @@ verify( 'EmojiFilter', - ':thumbsup:' + ":#{AwardEmoji::THUMBS_UP}:" ) verify( diff --git a/spec/features/projects/issues/design_management/user_views_design_spec.rb b/spec/features/projects/issues/design_management/user_views_design_spec.rb index efd339bdd37f2f7843b75053fa1c182925c8a593..8191fc61268f47ffac1ef97f536fab6b19c0ee51 100644 --- a/spec/features/projects/issues/design_management/user_views_design_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_design_spec.rb @@ -52,20 +52,21 @@ def remove_diff_note_emoji(diff_note, emoji_name) it 'allows user to add emoji reaction to a comment' do click_link design.filename - add_diff_note_emoji(note, 'thumbsup') + add_diff_note_emoji(note, AwardEmoji::THUMBS_UP) - expect(page.find("li#note_#{note.id} .awards")).to have_selector('button[title="You reacted with :thumbsup:"]') + expect(page.find("li#note_#{note.id} .awards")) + .to have_selector(%(button[title="You reacted with :#{AwardEmoji::THUMBS_UP}:"])) end it 'allows user to remove emoji reaction from a comment' do click_link design.filename - add_diff_note_emoji(note, 'thumbsup') + add_diff_note_emoji(note, AwardEmoji::THUMBS_UP) # Wait for emoji to be added wait_for_requests - remove_diff_note_emoji(note, 'thumbsup') + remove_diff_note_emoji(note, AwardEmoji::THUMBS_UP) # Only award emoji that was present has been removed expect(page.find("li#note_#{note.id}")).not_to have_selector('.awards') diff --git a/spec/features/projects/work_items/work_items_list_filters_spec.rb b/spec/features/projects/work_items/work_items_list_filters_spec.rb index 762aa8daafc1e555bd6bd763bd5544c5f098d327..b980eb471f9ff9a33b85af7dc61a08c9679fa18f 100644 --- a/spec/features/projects/work_items/work_items_list_filters_spec.rb +++ b/spec/features/projects/work_items/work_items_list_filters_spec.rb @@ -235,14 +235,14 @@ describe 'my-reaction' do it 'filters', :aggregate_failures do - select_tokens 'My-Reaction', '=', 'thumbsup', submit: true + select_tokens 'My-Reaction', '=', AwardEmoji::THUMBS_UP, submit: true expect(page).to have_css('.issue', count: 1) expect(page).to have_link(issue.title) click_button 'Clear' - select_tokens 'My-Reaction', '!=', 'thumbsup', submit: true + select_tokens 'My-Reaction', '!=', AwardEmoji::THUMBS_UP, submit: true expect(page).to have_css('.issue', count: 2) expect(page).to have_link(incident.title) diff --git a/spec/finders/award_emojis_finder_spec.rb b/spec/finders/award_emojis_finder_spec.rb index 5de5299beb5c74715a696db83041ec162d41229f..1b507d6481f97d51062ac96baa20830da67c8759 100644 --- a/spec/finders/award_emojis_finder_spec.rb +++ b/spec/finders/award_emojis_finder_spec.rb @@ -4,13 +4,13 @@ RSpec.describe AwardEmojisFinder do let_it_be(:issue_1) { create(:issue) } - let_it_be(:issue_1_thumbsup) { create(:award_emoji, name: 'thumbsup', awardable: issue_1) } - let_it_be(:issue_1_thumbsdown) { create(:award_emoji, name: 'thumbsdown', awardable: issue_1) } + let_it_be(:issue_1_thumbsup) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: issue_1) } + let_it_be(:issue_1_thumbsdown) { create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: issue_1) } # Create a matching set of emoji for a second issue. # These should never appear in our finder results let_it_be(:issue_2) { create(:issue) } - let_it_be(:issue_2_thumbsup) { create(:award_emoji, name: 'thumbsup', awardable: issue_2) } - let_it_be(:issue_2_thumbsdown) { create(:award_emoji, name: 'thumbsdown', awardable: issue_2) } + let_it_be(:issue_2_thumbsup) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: issue_2) } + let_it_be(:issue_2_thumbsdown) { create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, awardable: issue_2) } describe 'param validation' do it 'raises an error if `awarded_by` is invalid' do @@ -30,7 +30,7 @@ end it 'filters by emoji name' do - expect(described_class.new(issue_1, { name: 'thumbsup' }).execute).to contain_exactly(issue_1_thumbsup) + expect(described_class.new(issue_1, { name: AwardEmoji::THUMBS_UP }).execute).to contain_exactly(issue_1_thumbsup) expect(described_class.new(issue_1, { name: '8ball' }).execute).to be_empty end diff --git a/spec/graphql/resolvers/merge_requests_resolver_spec.rb b/spec/graphql/resolvers/merge_requests_resolver_spec.rb index a7ab2c3187cb65dafc055253b1fade4be573c3d3..b586e8c4f5b97e155ed2d6f78a85061fe66516f3 100644 --- a/spec/graphql/resolvers/merge_requests_resolver_spec.rb +++ b/spec/graphql/resolvers/merge_requests_resolver_spec.rb @@ -328,7 +328,7 @@ end it 'does not return anything' do - result = resolve_mr(project, my_reaction_emoji: "thumbsup") + result = resolve_mr(project, my_reaction_emoji: AwardEmoji::THUMBS_UP) expect(result).to be_empty end diff --git a/spec/graphql/resolvers/users/participants_resolver_spec.rb b/spec/graphql/resolvers/users/participants_resolver_spec.rb index cce0393a3400be6f4d0519614bebac9e962277a1..c146a413053115e6e551a7e3b6d7dcb5b5685f60 100644 --- a/spec/graphql/resolvers/users/participants_resolver_spec.rb +++ b/spec/graphql/resolvers/users/participants_resolver_spec.rb @@ -38,11 +38,11 @@ create(:note, :confidential, noteable: issue, in_reply_to: internal_note, project: project, author: internal_reply_author) end - let_it_be(:issue_emoji_author) { create(:award_emoji, name: 'thumbsup', awardable: issue).user } - let_it_be(:public_note_emoji_author) { create(:award_emoji, name: 'thumbsup', awardable: public_note).user } - let_it_be(:internal_note_emoji_author) { create(:award_emoji, name: 'thumbsup', awardable: internal_note).user } - let_it_be(:public_reply_emoji_author) { create(:award_emoji, name: 'thumbsup', awardable: public_reply).user } - let_it_be(:internal_reply_emoji_author) { create(:award_emoji, name: 'thumbsup', awardable: internal_reply).user } + let_it_be(:issue_emoji_author) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: issue).user } + let_it_be(:public_note_emoji_author) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: public_note).user } + let_it_be(:internal_note_emoji_author) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: internal_note).user } + let_it_be(:public_reply_emoji_author) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: public_reply).user } + let_it_be(:internal_reply_emoji_author) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: internal_reply).user } subject(:resolved_items) do resolve(described_class, args: {}, ctx: { current_user: current_user }, obj: issue)&.items @@ -131,9 +131,9 @@ create(:award_emoji, :upvote, awardable: issue) internal_note = create(:note, :confidential, project: project, noteable: issue, author: create(:user)) - create(:award_emoji, name: 'thumbsup', awardable: internal_note) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: internal_note) public_note = create(:note, project: project, noteable: issue, author: create(:user)) - create(:award_emoji, name: 'thumbsup', awardable: public_note) + create(:award_emoji, name: AwardEmoji::THUMBS_UP, awardable: public_note) # 1 extra query per source (3 emojis + 2 notes) to fetch participables collection # 2 extra queries to load work item widgets collection diff --git a/spec/helpers/issues_helper_spec.rb b/spec/helpers/issues_helper_spec.rb index 0790c2528126bc824b3c9e0c67e00b9674f076ec..a1bc19d2f927f9ee30bdb7ba054d5735d81303e0 100644 --- a/spec/helpers/issues_helper_spec.rb +++ b/spec/helpers/issues_helper_spec.rb @@ -81,9 +81,9 @@ end describe 'awards_sort' do - it 'sorts a hash so thumbsup and thumbsdown are always on top' do - data = { 'thumbsdown' => 'some value', 'lifter' => 'some value', 'thumbsup' => 'some value' } - expect(awards_sort(data).keys).to eq(%w[thumbsup thumbsdown lifter]) + it 'sorts a hash so thumbs_up and thumbs_down are always on top' do + data = { AwardEmoji::THUMBS_DOWN => 'some value', 'lifter' => 'some value', AwardEmoji::THUMBS_UP => 'some value' } + expect(awards_sort(data).keys).to eq(%W[#{AwardEmoji::THUMBS_UP} #{AwardEmoji::THUMBS_DOWN} lifter]) end end diff --git a/spec/lib/banzai/filter/emoji_filter_spec.rb b/spec/lib/banzai/filter/emoji_filter_spec.rb index d2f4f5484dd4c0392d89e99eaeb3e293c4edd980..dd31aecc6d63ffa37fe94502ae3b506d41da772b 100644 --- a/spec/lib/banzai/filter/emoji_filter_spec.rb +++ b/spec/lib/banzai/filter/emoji_filter_spec.rb @@ -85,7 +85,7 @@ it 'has a data-name attribute' do doc = filter(':-1:') - expect(doc.css('gl-emoji').first.attr('data-name')).to eq 'thumbsdown' + expect(doc.css('gl-emoji').first.attr('data-name')).to eq AwardEmoji::THUMBS_DOWN end it 'has a data-unicode-version attribute' do diff --git a/spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb b/spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb index bd3fa6041bc746554ffb36b50c659c8e2ef7bb2f..60e6d7de6da08586e43d67587fbb093e761b85dd 100644 --- a/spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb +++ b/spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb @@ -68,7 +68,7 @@ it 'renders emojis wrapped in <gl-emoji> tag' do # rubocop:disable Layout/LineLength is_expected.to eq( - %q(<p><gl-emoji title="thumbs up sign" data-name="thumbsup" data-unicode-version="6.0">ðŸ‘</gl-emoji><gl-emoji title="thumbs up sign" data-name="thumbsup" data-unicode-version="6.0">ðŸ‘</gl-emoji></p>) + %(<p><gl-emoji title="thumbs up sign" data-name="#{AwardEmoji::THUMBS_UP}" data-unicode-version="6.0">ðŸ‘</gl-emoji><gl-emoji title="thumbs up sign" data-name="#{AwardEmoji::THUMBS_UP}" data-unicode-version="6.0">ðŸ‘</gl-emoji></p>) ) # rubocop:enable Layout/LineLength end diff --git a/spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb b/spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb index 8fac563173859a262aa39eb4a2e63f73c1890a6a..8feae6406314f47a1ad7581d534917600d304363 100644 --- a/spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb +++ b/spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb @@ -186,7 +186,7 @@ ], 'award_emoji' => [ { - 'name' => 'thumbsup', + 'name' => AwardEmoji::THUMBS_UP, 'user_id' => 22 } ] @@ -200,7 +200,7 @@ aggregate_failures do expect(notes.count).to eq 1 expect(notes[0].note).to include("Description changed") - expect(issue.award_emoji.first.name).to eq "thumbsup" + expect(issue.award_emoji.first.name).to eq AwardEmoji::THUMBS_UP end end end diff --git a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb index c0b926c3b5e5a34f00ed5c5997d65621cc997f44..df2861f67d259c7300ee361987abe24e4c7e6540 100644 --- a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb +++ b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb @@ -374,7 +374,7 @@ def match_mr1_note(content_regex) it 'has award emoji for a snippet' do award_emoji = @project.snippets.first.award_emoji - expect(award_emoji.map(&:name)).to contain_exactly('thumbsup', 'coffee') + expect(award_emoji.map(&:name)).to contain_exactly(AwardEmoji::THUMBS_UP, 'coffee') end it 'snippet has notes' do @@ -384,7 +384,7 @@ def match_mr1_note(content_regex) it 'snippet has award emojis on notes' do award_emoji = @project.snippets.first.notes.first.award_emoji.first - expect(award_emoji.name).to eq('thumbsup') + expect(award_emoji.name).to eq(AwardEmoji::THUMBS_UP) end it 'restores `ci_cd_settings` : `group_runners_enabled` setting' do @@ -534,7 +534,7 @@ def match_mr1_note(content_regex) it 'has award emoji' do award_emoji = MergeRequest.find_by_title('MR1').award_emoji - expect(award_emoji.map(&:name)).to contain_exactly('thumbsup', 'drum') + expect(award_emoji.map(&:name)).to contain_exactly(AwardEmoji::THUMBS_UP, 'drum') end context 'notes' do diff --git a/spec/models/award_emoji_spec.rb b/spec/models/award_emoji_spec.rb index 75ef62b439111e24423ebc277788cef7ef2049b6..c8bc925d4f7dd17b4c3db1fead27dc148a95a772 100644 --- a/spec/models/award_emoji_spec.rb +++ b/spec/models/award_emoji_spec.rb @@ -132,8 +132,8 @@ end describe '.named' do - it { expect(described_class.named('thumbsup')).to contain_exactly(thumbsup) } - it { expect(described_class.named(%w[thumbsup thumbsdown])).to contain_exactly(thumbsup, thumbsdown) } + it { expect(described_class.named(AwardEmoji::THUMBS_UP)).to contain_exactly(thumbsup) } + it { expect(described_class.named([AwardEmoji::THUMBS_UP, AwardEmoji::THUMBS_DOWN])).to contain_exactly(thumbsup, thumbsdown) } end describe '.awarded_by' do @@ -231,22 +231,22 @@ let(:user) { create(:user) } before do - create(:award_emoji, user: user, name: 'thumbsup') - create(:award_emoji, user: user, name: 'thumbsup') - create(:award_emoji, user: user, name: 'thumbsdown') + create(:award_emoji, user: user, name: AwardEmoji::THUMBS_UP) + create(:award_emoji, user: user, name: AwardEmoji::THUMBS_UP) + create(:award_emoji, user: user, name: AwardEmoji::THUMBS_DOWN) create(:award_emoji, user: user, name: '+1') end it 'returns the awarded emoji in descending order' do awards = described_class.award_counts_for_user(user) - expect(awards).to eq('thumbsup' => 2, 'thumbsdown' => 1, '+1' => 1) + expect(awards).to eq(AwardEmoji::THUMBS_UP => 2, AwardEmoji::THUMBS_DOWN => 1, '+1' => 1) end it 'limits the returned number of rows' do awards = described_class.award_counts_for_user(user, 1) - expect(awards).to eq('thumbsup' => 2) + expect(awards).to eq(AwardEmoji::THUMBS_UP => 2) end end diff --git a/spec/models/concerns/awardable_spec.rb b/spec/models/concerns/awardable_spec.rb index 220c019dc864a2d1addde44d392ef582fa9641d0..8f0fe9f42d3a9c4f7aba6ed25b5d08849980e419 100644 --- a/spec/models/concerns/awardable_spec.rb +++ b/spec/models/concerns/awardable_spec.rb @@ -28,10 +28,10 @@ describe "#awarded" do it "filters by user and emoji name" do - expect(Note.awarded(award_emoji.user, { name: "thumbsup" })).to be_empty - expect(Note.awarded(award_emoji.user, { name: "thumbsdown" })).to eq [note] - expect(Note.awarded(award_emoji2.user, { name: "thumbsup" })).to eq [note2] - expect(Note.awarded(award_emoji2.user, { name: "thumbsdown" })).to be_empty + expect(Note.awarded(award_emoji.user, { name: AwardEmoji::THUMBS_UP })).to be_empty + expect(Note.awarded(award_emoji.user, { name: AwardEmoji::THUMBS_DOWN })).to eq [note] + expect(Note.awarded(award_emoji2.user, { name: AwardEmoji::THUMBS_UP })).to eq [note2] + expect(Note.awarded(award_emoji2.user, { name: AwardEmoji::THUMBS_DOWN })).to be_empty end it "filters by user and any emoji" do @@ -102,7 +102,7 @@ end it "includes unused thumbs buttons by default" do - expect(note_without_downvote.grouped_awards.keys.sort).to eq %w[thumbsdown thumbsup] + expect(note_without_downvote.grouped_awards.keys.sort).to eq [AwardEmoji::THUMBS_DOWN, AwardEmoji::THUMBS_UP] end it "doesn't include unused thumbs buttons when disabled in project" do @@ -114,7 +114,7 @@ it "includes unused thumbs buttons when enabled in project" do note_without_downvote.project.show_default_award_emojis = true - expect(note_without_downvote.grouped_awards.keys.sort).to eq %w[thumbsdown thumbsup] + expect(note_without_downvote.grouped_awards.keys.sort).to eq [AwardEmoji::THUMBS_DOWN, AwardEmoji::THUMBS_UP] end it "doesn't include unused thumbs buttons in summary" do @@ -124,11 +124,11 @@ it "includes used thumbs buttons when disabled in project" do note_with_downvote.project.show_default_award_emojis = false - expect(note_with_downvote.grouped_awards.keys).to eq %w[thumbsdown] + expect(note_with_downvote.grouped_awards.keys).to eq [AwardEmoji::THUMBS_DOWN] end it "includes used thumbs buttons in summary" do - expect(note_with_downvote.grouped_awards(with_thumbs: false).keys).to eq %w[thumbsdown] + expect(note_with_downvote.grouped_awards(with_thumbs: false).keys).to eq [AwardEmoji::THUMBS_DOWN] end end end diff --git a/spec/models/incident_management/timeline_event_spec.rb b/spec/models/incident_management/timeline_event_spec.rb index 40adf46e7d52b833e408fd0cb761def2e7c35ad5..01d7101724203d0e592bc2f51da6bf8f24031655 100644 --- a/spec/models/incident_management/timeline_event_spec.rb +++ b/spec/models/incident_management/timeline_event_spec.rb @@ -72,7 +72,7 @@ # rubocop:disable Layout/LineLength let(:expected_emoji_html) do - '<gl-emoji title="thumbs up sign" data-name="thumbsup" data-unicode-version="6.0">ðŸ‘</gl-emoji><gl-emoji title="thumbs up sign" data-name="thumbsup" data-unicode-version="6.0">ðŸ‘</gl-emoji>' + %(<gl-emoji title="thumbs up sign" data-name="#{AwardEmoji::THUMBS_UP}" data-unicode-version="6.0">ðŸ‘</gl-emoji><gl-emoji title="thumbs up sign" data-name="#{AwardEmoji::THUMBS_UP}" data-unicode-version="6.0">ðŸ‘</gl-emoji>) end let(:expected_note_html) do diff --git a/spec/presenters/award_emoji_presenter_spec.rb b/spec/presenters/award_emoji_presenter_spec.rb index a23196282a2e5175dec9c8697dc64339e2f87d67..f6fb370fc80f64890553c7ccee12a9a57c6186ce 100644 --- a/spec/presenters/award_emoji_presenter_spec.rb +++ b/spec/presenters/award_emoji_presenter_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe AwardEmojiPresenter do - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } let(:award_emoji) { build(:award_emoji, name: emoji_name) } let(:presenter) { described_class.new(award_emoji) } let(:emoji) { TanukiEmoji.find_by_alpha_code(emoji_name) } diff --git a/spec/requests/api/award_emoji_spec.rb b/spec/requests/api/award_emoji_spec.rb index 22c67a253e316893caee773bdb04f82507c9a693..f840519126445b0bd55bcbd1e45f94a6a77927c1 100644 --- a/spec/requests/api/award_emoji_spec.rb +++ b/spec/requests/api/award_emoji_spec.rb @@ -251,16 +251,16 @@ expect(response).to have_gitlab_http_status(:bad_request) end - it "normalizes +1 as thumbsup award" do + it "normalizes +1 as thumbs_up award" do post api("/projects/#{project.id}/issues/#{issue.iid}/award_emoji", user), params: { name: '+1' } - expect(issue.award_emoji.last.name).to eq("thumbsup") + expect(issue.award_emoji.last.name).to eq(AwardEmoji::THUMBS_UP) end context 'when the emoji already has been awarded' do it 'returns a 404 status code' do - post api("/projects/#{project.id}/issues/#{issue.iid}/award_emoji", user), params: { name: 'thumbsup' } - post api("/projects/#{project.id}/issues/#{issue.iid}/award_emoji", user), params: { name: 'thumbsup' } + post api("/projects/#{project.id}/issues/#{issue.iid}/award_emoji", user), params: { name: AwardEmoji::THUMBS_UP } + post api("/projects/#{project.id}/issues/#{issue.iid}/award_emoji", user), params: { name: AwardEmoji::THUMBS_UP } expect(response).to have_gitlab_http_status(:not_found) expect(json_response["message"]).to match("has already been taken") @@ -306,10 +306,10 @@ expect(todo.reload).to be_done end - it "normalizes +1 as thumbsup award" do + it "normalizes +1 as thumbs_up award" do post api("/projects/#{project.id}/issues/#{issue.iid}/notes/#{note.id}/award_emoji", user), params: { name: '+1' } - expect(note.award_emoji.last.name).to eq("thumbsup") + expect(note.award_emoji.last.name).to eq(AwardEmoji::THUMBS_UP) end context 'when the emoji already has been awarded' do diff --git a/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb b/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb index dbace8f2b5368de528d1dbeeb7b5acdba2aa46a2..c46a843b5e7e1c4984c52172db89b430467ce495 100644 --- a/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb +++ b/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb @@ -9,7 +9,7 @@ let_it_be(:project) { create(:project) } let_it_be(:awardable) { create(:note, project: project) } - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } let(:mutation) do variables = { awardable_id: GitlabSchema.id_from_object(awardable).to_s, diff --git a/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb b/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb index eb0573559f4632b9c95bf44e4807fb4266a57e6c..69a3e24bd4d9d09110b13a28151f6723dd1275ff 100644 --- a/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb +++ b/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb @@ -9,7 +9,7 @@ let_it_be(:project) { awardable.project } let_it_be(:current_user) { create(:user, guest_of: project) } - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } let(:input) { { awardable_id: GitlabSchema.id_from_object(awardable).to_s, name: emoji_name } } let(:mutation) do @@ -40,7 +40,8 @@ def create_award_emoji(user) it 'returns an error' do post_graphql_mutation(mutation, current_user: current_user) - expect(mutation_response['errors']).to include('User has not awarded emoji of type thumbsup on the awardable') + expect(mutation_response['errors']) + .to include("User has not awarded emoji of type #{AwardEmoji::THUMBS_UP} on the awardable") end end diff --git a/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb b/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb index 1a94008358f93605969eff3db22c18f59ddb08fc..e6c2bf2386fc36778df384eb5ef7d98eaba9742c 100644 --- a/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb +++ b/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb @@ -11,7 +11,7 @@ let_it_be(:issue_note) { create(:note, project: project) } let(:awardable) { issue_note } - let(:emoji_name) { 'thumbsup' } + let(:emoji_name) { AwardEmoji::THUMBS_UP } let(:mutation) do variables = { awardable_id: GitlabSchema.id_from_object(awardable).to_s, diff --git a/spec/requests/api/graphql/mutations/work_items/update_spec.rb b/spec/requests/api/graphql/mutations/work_items/update_spec.rb index b717869717a99fa46a109dded0a1a2034f454b8f..50f80c8a60be53c004431b70fec06408f1cae398 100644 --- a/spec/requests/api/graphql/mutations/work_items/update_spec.rb +++ b/spec/requests/api/graphql/mutations/work_items/update_spec.rb @@ -1511,7 +1511,7 @@ 'upvotes' => 1, 'downvotes' => 0, 'awardEmoji' => { 'nodes' => [ - { 'name' => 'thumbsup', 'user' => { 'id' => current_user.to_gid.to_s } }, + { 'name' => AwardEmoji::THUMBS_UP, 'user' => { 'id' => current_user.to_gid.to_s } }, { 'name' => award_name, 'user' => { 'id' => current_user.to_gid.to_s } } ] }, 'type' => 'AWARD_EMOJI' @@ -1534,7 +1534,7 @@ let(:award_action) { 'REMOVE' } context 'when emoji was awarded by current user' do - let(:award_name) { 'thumbsup' } + let(:award_name) { AwardEmoji::THUMBS_UP } it_behaves_like 'request that removes emoji' end @@ -1547,7 +1547,7 @@ end it_behaves_like 'request with error', - 'User has not awarded emoji of type thumbsdown on the awardable' + "User has not awarded emoji of type #{AwardEmoji::THUMBS_DOWN} on the awardable" end end @@ -1555,7 +1555,7 @@ let(:award_action) { 'TOGGLE' } context 'when emoji award is present' do - let(:award_name) { 'thumbsup' } + let(:award_name) { AwardEmoji::THUMBS_UP } it_behaves_like 'request that removes emoji' end diff --git a/spec/requests/api/graphql/project/merge_requests_spec.rb b/spec/requests/api/graphql/project/merge_requests_spec.rb index 7f1a51afbfb7d9e0ec4ef143f14a349e4c6d831a..e222fdc7294f4b09fb8c709b383fe0c6a245f7be 100644 --- a/spec/requests/api/graphql/project/merge_requests_spec.rb +++ b/spec/requests/api/graphql/project/merge_requests_spec.rb @@ -371,8 +371,8 @@ def execute_query let(:requested_fields) { 'upvotes downvotes awardEmoji { nodes { name } }' } before do - create_list(:award_emoji, 2, name: 'thumbsup', awardable: merge_request_a) - create_list(:award_emoji, 2, name: 'thumbsdown', awardable: merge_request_b) + create_list(:award_emoji, 2, name: AwardEmoji::THUMBS_UP, awardable: merge_request_a) + create_list(:award_emoji, 2, name: AwardEmoji::THUMBS_DOWN, awardable: merge_request_b) end include_examples 'N+1 query check' diff --git a/spec/requests/api/graphql/project/work_items_spec.rb b/spec/requests/api/graphql/project/work_items_spec.rb index a94e8d6f2258ad07919c72814d2df069e1fca28d..f1303cd9513320b695b4f7f8954a80210cc8b461 100644 --- a/spec/requests/api/graphql/project/work_items_spec.rb +++ b/spec/requests/api/graphql/project/work_items_spec.rb @@ -772,14 +772,14 @@ def pagination_query(params) post_graphql(query, current_user: current_user) end - let(:item_filter_params) { { my_reaction_emoji: 'thumbsup' } } + let(:item_filter_params) { { my_reaction_emoji: AwardEmoji::THUMBS_UP } } it 'returns items with the reaction emoji' do expect(item_ids).to contain_exactly(item1.to_global_id.to_s) end context 'when using NOT' do - let(:item_filter_params) { { not: { my_reaction_emoji: 'thumbsup' } } } + let(:item_filter_params) { { not: { my_reaction_emoji: AwardEmoji::THUMBS_UP } } } it 'returns items without the reaction emoji' do expect(item_ids).to contain_exactly(item2.to_global_id.to_s, confidential_item.to_global_id.to_s) diff --git a/spec/requests/api/issues/issues_spec.rb b/spec/requests/api/issues/issues_spec.rb index b72a5b9ef6c23bb7df563ce596ed979a3d85bae0..ed45ac06e4d47817bd281b524bea6a30a27139a6 100644 --- a/spec/requests/api/issues/issues_spec.rb +++ b/spec/requests/api/issues/issues_spec.rb @@ -378,7 +378,7 @@ it 'returns issues reacted by the authenticated user' do issue2 = create(:issue, project: project, author: user, assignees: [user]) create(:award_emoji, awardable: issue2, user: user2, name: 'star') - create(:award_emoji, awardable: issue, user: user2, name: 'thumbsup') + create(:award_emoji, awardable: issue, user: user2, name: AwardEmoji::THUMBS_UP) get api('/issues', user2), params: { my_reaction_emoji: 'Any', scope: 'all' } diff --git a/spec/requests/api/todos_spec.rb b/spec/requests/api/todos_spec.rb index a3bdbe8ec75197cef7508eb06ba495f375830936..d0a8f652dc8dac25e655279e44846746f028df55 100644 --- a/spec/requests/api/todos_spec.rb +++ b/spec/requests/api/todos_spec.rb @@ -26,9 +26,9 @@ let_it_be(:pending_4) { create(:on_commit_todo, project: project_1, author: author_2, user: john_doe, commit_id: 'invalid_id') } let_it_be(:pending_5) { create(:todo, :mentioned, project: project_1, author: author_1, user: john_doe, target: work_item, target_type: WorkItem.name) } let_it_be(:done) { create(:todo, :done, project: project_1, author: author_1, user: john_doe, target: issue) } - let_it_be(:award_emoji_1) { create(:award_emoji, awardable: merge_request, user: author_1, name: 'thumbsup') } - let_it_be(:award_emoji_2) { create(:award_emoji, awardable: pending_1.target, user: author_1, name: 'thumbsup') } - let_it_be(:award_emoji_3) { create(:award_emoji, awardable: pending_2.target, user: author_2, name: 'thumbsdown') } + let_it_be(:award_emoji_1) { create(:award_emoji, awardable: merge_request, user: author_1, name: AwardEmoji::THUMBS_UP) } + let_it_be(:award_emoji_2) { create(:award_emoji, awardable: pending_1.target, user: author_1, name: AwardEmoji::THUMBS_UP) } + let_it_be(:award_emoji_3) { create(:award_emoji, awardable: pending_2.target, user: author_2, name: AwardEmoji::THUMBS_DOWN) } describe 'GET /todos' do context 'when unauthenticated' do diff --git a/spec/services/award_emojis/add_service_spec.rb b/spec/services/award_emojis/add_service_spec.rb index e90ea284f29cb3489ee785352a99bfa7a8a8e7fb..297236df28864aa0d4288588d22bb93d6230c695 100644 --- a/spec/services/award_emojis/add_service_spec.rb +++ b/spec/services/award_emojis/add_service_spec.rb @@ -7,7 +7,7 @@ let_it_be(:project) { create(:project) } let_it_be(:awardable) { create(:note, project: project) } - let(:name) { 'thumbsup' } + let(:name) { AwardEmoji::THUMBS_UP } subject(:service) { described_class.new(awardable, name, user) } diff --git a/spec/services/award_emojis/collect_user_emoji_service_spec.rb b/spec/services/award_emojis/collect_user_emoji_service_spec.rb index d75d5804f93e967e6d170ab7e571b8d4107d6d79..54ea65fa7b49414872f802cc756f3c3b5e22ad41 100644 --- a/spec/services/award_emojis/collect_user_emoji_service_spec.rb +++ b/spec/services/award_emojis/collect_user_emoji_service_spec.rb @@ -7,13 +7,13 @@ it 'returns an Array containing the awarded emoji names' do user = create(:user) - create(:award_emoji, user: user, name: 'thumbsup') - create(:award_emoji, user: user, name: 'thumbsup') - create(:award_emoji, user: user, name: 'thumbsdown') + create(:award_emoji, user: user, name: AwardEmoji::THUMBS_UP) + create(:award_emoji, user: user, name: AwardEmoji::THUMBS_UP) + create(:award_emoji, user: user, name: AwardEmoji::THUMBS_DOWN) awarded = described_class.new(user).execute - expect(awarded).to eq([{ name: 'thumbsup' }, { name: 'thumbsdown' }]) + expect(awarded).to eq([{ name: AwardEmoji::THUMBS_UP }, { name: AwardEmoji::THUMBS_DOWN }]) end it 'returns an empty Array when no user is given' do diff --git a/spec/services/award_emojis/copy_service_spec.rb b/spec/services/award_emojis/copy_service_spec.rb index 81ec49d774126042428456772f22fe818d3247b2..c7b9ea7e1c5191bbe40833c831ffbb38fe00fa41 100644 --- a/spec/services/award_emojis/copy_service_spec.rb +++ b/spec/services/award_emojis/copy_service_spec.rb @@ -7,8 +7,8 @@ create( :issue, award_emoji: [ - build(:award_emoji, name: 'thumbsup'), - build(:award_emoji, name: 'thumbsdown') + build(:award_emoji, name: AwardEmoji::THUMBS_UP), + build(:award_emoji, name: AwardEmoji::THUMBS_DOWN) ]) end @@ -25,7 +25,7 @@ it 'copies AwardEmojis', :aggregate_failures do expect { execute_service }.to change { AwardEmoji.count }.by(2) - expect(to_awardable.award_emoji.map(&:name)).to match_array(%w[thumbsup thumbsdown]) + expect(to_awardable.award_emoji.map(&:name)).to match_array([AwardEmoji::THUMBS_UP, AwardEmoji::THUMBS_DOWN]) end it 'returns success', :aggregate_failures do diff --git a/spec/services/award_emojis/destroy_service_spec.rb b/spec/services/award_emojis/destroy_service_spec.rb index 51b8914c8f0f7ecb6a0887a94467f3a9d4639840..7f97491ae1d6464cc9ce54e44ab9625e2cc44082 100644 --- a/spec/services/award_emojis/destroy_service_spec.rb +++ b/spec/services/award_emojis/destroy_service_spec.rb @@ -7,7 +7,7 @@ let_it_be(:awardable) { create(:note) } let_it_be(:project) { awardable.project } - let(:name) { 'thumbsup' } + let(:name) { AwardEmoji::THUMBS_UP } let!(:award_from_other_user) do create(:award_emoji, name: name, awardable: awardable, user: create(:user)) end @@ -56,7 +56,7 @@ let!(:award_from_user) { create(:award_emoji, name: name, user: user) } it_behaves_like 'a service that does not authorize the user', - error: 'User has not awarded emoji of type thumbsup on the awardable' + error: "User has not awarded emoji of type #{AwardEmoji::THUMBS_UP} on the awardable" end context 'when user has awarded an emoji to the awardable' do diff --git a/spec/services/award_emojis/toggle_service_spec.rb b/spec/services/award_emojis/toggle_service_spec.rb index 61dcc22561f5abce17086bcdef7aa579dc69167f..57500dde70eeaae250c2e86100ac819e9679f8f5 100644 --- a/spec/services/award_emojis/toggle_service_spec.rb +++ b/spec/services/award_emojis/toggle_service_spec.rb @@ -7,7 +7,7 @@ let_it_be(:project) { create(:project, :public) } let_it_be(:awardable) { create(:note, project: project) } - let(:name) { 'thumbsup' } + let(:name) { AwardEmoji::THUMBS_UP } subject(:service) { described_class.new(awardable, name, user) } diff --git a/spec/services/notes/copy_service_spec.rb b/spec/services/notes/copy_service_spec.rb index ec8c5e305c2a39106327594536a2fe634c98523b..2029663924d9a39a69cb2e2e5ee427be6bc16813 100644 --- a/spec/services/notes/copy_service_spec.rb +++ b/spec/services/notes/copy_service_spec.rb @@ -68,13 +68,13 @@ end it 'copies the award emojis' do - create(:award_emoji, awardable: notes.first, name: 'thumbsup') + create(:award_emoji, awardable: notes.first, name: AwardEmoji::THUMBS_UP) execute_service new_award_emoji = to_noteable.notes.first.award_emoji.first - expect(new_award_emoji.name).to eq('thumbsup') + expect(new_award_emoji.name).to eq(AwardEmoji::THUMBS_UP) end it 'copies system_note_metadata for system note' do diff --git a/spec/services/users/migrate_records_to_ghost_user_service_spec.rb b/spec/services/users/migrate_records_to_ghost_user_service_spec.rb index 05a3a808916dca563dfd7bfc1325b1ecc8e0b83f..7b75fa8d20aed7e6acaf32a83d95fb8279ae1b73 100644 --- a/spec/services/users/migrate_records_to_ghost_user_service_spec.rb +++ b/spec/services/users/migrate_records_to_ghost_user_service_spec.rb @@ -104,10 +104,10 @@ let(:awardable) { create(:issue) } let!(:existing_award_emoji) do - create(:award_emoji, user: Users::Internal.ghost, name: "thumbsup", awardable: awardable) + create(:award_emoji, user: Users::Internal.ghost, name: AwardEmoji::THUMBS_UP, awardable: awardable) end - let!(:award_emoji) { create(:award_emoji, user: user, name: "thumbsup", awardable: awardable) } + let!(:award_emoji) { create(:award_emoji, user: user, name: AwardEmoji::THUMBS_UP, awardable: awardable) } it "migrates the award emoji regardless" do service.execute diff --git a/spec/services/work_items/callbacks/award_emoji_spec.rb b/spec/services/work_items/callbacks/award_emoji_spec.rb index 3268e8159490b4678f0096ad3255c7e8d0a2da1f..135cbfb33dc851d589aa9f0540ce0dbd096b44c8 100644 --- a/spec/services/work_items/callbacks/award_emoji_spec.rb +++ b/spec/services/work_items/callbacks/award_emoji_spec.rb @@ -61,7 +61,7 @@ end context 'when removing emoji' do - let(:params) { { action: :remove, name: 'thumbsup' } } + let(:params) { { action: :remove, name: AwardEmoji::THUMBS_UP } } context 'when user has no access' do let(:current_user) { unauthorized_user } diff --git a/spec/support/shared_contexts/finders/issues_finder_shared_contexts.rb b/spec/support/shared_contexts/finders/issues_finder_shared_contexts.rb index 8b73001a97d241dca4080c0cbefec91ddcc8c7f3..63caf4566f5a01f611db61342b4bf3b7213da98b 100644 --- a/spec/support/shared_contexts/finders/issues_finder_shared_contexts.rb +++ b/spec/support/shared_contexts/finders/issues_finder_shared_contexts.rb @@ -63,9 +63,9 @@ ) end - let_it_be(:award_emoji1) { create(:award_emoji, name: 'thumbsup', user: user, awardable: item1) } - let_it_be(:award_emoji2) { create(:award_emoji, name: 'thumbsup', user: user2, awardable: item2) } - let_it_be(:award_emoji3) { create(:award_emoji, name: 'thumbsdown', user: user, awardable: item3) } + let_it_be(:award_emoji1) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user, awardable: item1) } + let_it_be(:award_emoji2) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user2, awardable: item2) } + let_it_be(:award_emoji3) { create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, user: user, awardable: item3) } let(:items_model) { factory.to_s.camelize.constantize } end diff --git a/spec/support/shared_contexts/finders/work_items_finder_shared_contexts.rb b/spec/support/shared_contexts/finders/work_items_finder_shared_contexts.rb index f72b0382c7cc24bab6c443536f2efacef05850e1..c280c8df488d28c089778ca3ea436b3a33a38c5a 100644 --- a/spec/support/shared_contexts/finders/work_items_finder_shared_contexts.rb +++ b/spec/support/shared_contexts/finders/work_items_finder_shared_contexts.rb @@ -80,9 +80,9 @@ ) end - let_it_be(:award_emoji1) { create(:award_emoji, name: 'thumbsup', user: user, awardable: item1) } - let_it_be(:award_emoji2) { create(:award_emoji, name: 'thumbsup', user: user2, awardable: item2) } - let_it_be(:award_emoji3) { create(:award_emoji, name: 'thumbsdown', user: user, awardable: item3) } + let_it_be(:award_emoji1) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user, awardable: item1) } + let_it_be(:award_emoji2) { create(:award_emoji, name: AwardEmoji::THUMBS_UP, user: user2, awardable: item2) } + let_it_be(:award_emoji3) { create(:award_emoji, name: AwardEmoji::THUMBS_DOWN, user: user, awardable: item3) } let(:items_model) { WorkItem } end diff --git a/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb b/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb index ddf3b1d7d17bc4a976568a85f87d2ec549ab3298..39b3e0009fd9489a365d402aa2250f69ac09b919 100644 --- a/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb +++ b/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb @@ -152,7 +152,7 @@ weight: 1, epic_id: 2, iteration_id: 3, - my_reaction_emoji: 'thumbsup', + my_reaction_emoji: AwardEmoji::THUMBS_UP, not: { assignee_username: 'test' } ) end diff --git a/spec/support/shared_examples/features/work_items_shared_examples.rb b/spec/support/shared_examples/features/work_items_shared_examples.rb index 0c472dee0890731c042b433d2b62cb3aea4820e7..d8e53e28135d72d1ffa178b1cec08e9ada7ac0a7 100644 --- a/spec/support/shared_examples/features/work_items_shared_examples.rb +++ b/spec/support/shared_examples/features/work_items_shared_examples.rb @@ -479,17 +479,17 @@ def select_emoji within(award_section_selector) do expect(page).to have_selector(selected_award_button_selector) - # As the user2 has already awarded the `:thumbsup:` emoji, the emoji count will be 2 + # As the user2 has already awarded the `:thumbs_up:` emoji, the emoji count will be 2 expect(first(award_button_selector)).to have_content '2' end - expect(page.find(tooltip_selector)).to have_content("John and you reacted with :thumbsup:") + expect(page.find(tooltip_selector)).to have_content("John and you reacted with :#{AwardEmoji::THUMBS_UP}:") end it 'removes award from work item for current user' do select_emoji page.within(award_section_selector) do - # As the user2 has already awarded the `:thumbsup:` emoji, the emoji count will be 2 + # As the user2 has already awarded the `:thumbs_up:` emoji, the emoji count will be 2 expect(first(award_button_selector)).to have_content '2' end diff --git a/spec/support/shared_examples/finders/issues_finder_shared_examples.rb b/spec/support/shared_examples/finders/issues_finder_shared_examples.rb index 3ae2d7838282f224071b3767e93f17aa94ce5b87..649f8997c9aadda711414ba62b07af0dce680ca0 100644 --- a/spec/support/shared_examples/finders/issues_finder_shared_examples.rb +++ b/spec/support/shared_examples/finders/issues_finder_shared_examples.rb @@ -744,51 +744,51 @@ end end - context 'user searches by "thumbsup" reaction' do - let(:params) { { my_reaction_emoji: 'thumbsup' } } + context 'user searches by "thumbs_up" reaction' do + let(:params) { { my_reaction_emoji: AwardEmoji::THUMBS_UP } } - it 'returns items that the user thumbsup to' do + it 'returns items that the user thumbs_up to' do expect(items).to contain_exactly(item1) end context 'using NOT' do - let(:params) { { not: { my_reaction_emoji: 'thumbsup' } } } + let(:params) { { not: { my_reaction_emoji: AwardEmoji::THUMBS_UP } } } - it 'returns items that the user did not thumbsup to' do + it 'returns items that the user did not thumbs_up to' do expect(items).to contain_exactly(item2, item3, item4, item5) end end end - context 'user2 searches by "thumbsup" reaction' do + context 'user2 searches by "thumbs_up" reaction' do let(:search_user) { user2 } - let(:params) { { my_reaction_emoji: 'thumbsup' } } + let(:params) { { my_reaction_emoji: AwardEmoji::THUMBS_UP } } - it 'returns items that the user2 thumbsup to' do + it 'returns items that the user2 thumbs_up to' do expect(items).to contain_exactly(item2) end context 'using NOT' do - let(:params) { { not: { my_reaction_emoji: 'thumbsup' } } } + let(:params) { { not: { my_reaction_emoji: AwardEmoji::THUMBS_UP } } } - it 'returns items that the user2 thumbsup to' do + it 'returns items that the user2 thumbs_up to' do expect(items).to contain_exactly(item3) end end end - context 'user searches by "thumbsdown" reaction' do - let(:params) { { my_reaction_emoji: 'thumbsdown' } } + context 'user searches by "thumbs_down" reaction' do + let(:params) { { my_reaction_emoji: AwardEmoji::THUMBS_DOWN } } - it 'returns items that the user thumbsdown to' do + it 'returns items that the user thumbs_down to' do expect(items).to contain_exactly(item3) end context 'using NOT' do - let(:params) { { not: { my_reaction_emoji: 'thumbsdown' } } } + let(:params) { { not: { my_reaction_emoji: AwardEmoji::THUMBS_DOWN } } } - it 'returns items that the user thumbsdown to' do + it 'returns items that the user thumbs_down to' do expect(items).to contain_exactly(item1, item2, item4, item5) end end diff --git a/spec/support/shared_examples/requests/api/graphql/issue_list_shared_examples.rb b/spec/support/shared_examples/requests/api/graphql/issue_list_shared_examples.rb index 106a174fc827b029acf00a3d3ac0ad2c84fc4d85..b10fba8a4fd6f2efc2ba69d7b5c9e5487f33b34d 100644 --- a/spec/support/shared_examples/requests/api/graphql/issue_list_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/graphql/issue_list_shared_examples.rb @@ -168,12 +168,12 @@ using RSpec::Parameterized::TableSyntax where(:value, :issue_list) do - 'thumbsup' | lazy { voted_issues } - 'ANY' | lazy { voted_issues } - 'any' | lazy { voted_issues } - 'AnY' | lazy { voted_issues } - 'NONE' | lazy { no_award_issues } - 'thumbsdown' | lazy { [] } + AwardEmoji::THUMBS_UP | lazy { voted_issues } + 'ANY' | lazy { voted_issues } + 'any' | lazy { voted_issues } + 'AnY' | lazy { voted_issues } + 'NONE' | lazy { no_award_issues } + AwardEmoji::THUMBS_DOWN | lazy { [] } end with_them do @@ -458,8 +458,8 @@ def execute_query let(:requested_fields) { 'upvotes downvotes' } before do - create_list(:award_emoji, 2, name: 'thumbsup', awardable: issue_a) - create_list(:award_emoji, 2, name: 'thumbsdown', awardable: issue_b) + create_list(:award_emoji, 2, name: AwardEmoji::THUMBS_UP, awardable: issue_a) + create_list(:award_emoji, 2, name: AwardEmoji::THUMBS_DOWN, awardable: issue_b) end include_examples 'N+1 query check'