diff options
Diffstat (limited to 'spec/features/issues/user_sorts_issues_spec.rb')
-rw-r--r-- | spec/features/issues/user_sorts_issues_spec.rb | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/spec/features/issues/user_sorts_issues_spec.rb b/spec/features/issues/user_sorts_issues_spec.rb new file mode 100644 index 00000000000..7d261ec7dae --- /dev/null +++ b/spec/features/issues/user_sorts_issues_spec.rb @@ -0,0 +1,63 @@ +require "spec_helper" + +describe "User sorts issues" do + set(:user) { create(:user) } + set(:group) { create(:group) } + set(:project) { create(:project_empty_repo, :public, group: group) } + set(:issue1) { create(:issue, project: project) } + set(:issue2) { create(:issue, project: project) } + set(:issue3) { create(:issue, project: project) } + + before do + create_list(:award_emoji, 2, :upvote, awardable: issue1) + create_list(:award_emoji, 2, :downvote, awardable: issue2) + create(:award_emoji, :downvote, awardable: issue1) + create(:award_emoji, :upvote, awardable: issue2) + + sign_in(user) + + visit(project_issues_path(project)) + end + + it 'keeps the sort option' do + find('button.dropdown-toggle').click + + page.within('.content ul.dropdown-menu.dropdown-menu-right li') do + click_link('Milestone') + end + + visit(issues_dashboard_path(assignee_id: user.id)) + + expect(find('.issues-filters a.is-active')).to have_content('Milestone') + + visit(project_issues_path(project)) + + expect(find('.issues-filters a.is-active')).to have_content('Milestone') + + visit(issues_group_path(group)) + + expect(find('.issues-filters a.is-active')).to have_content('Milestone') + end + + it "sorts by popularity" do + find("button.dropdown-toggle").click + + page.within(".content ul.dropdown-menu.dropdown-menu-right li") do + click_link("Popularity") + end + + page.within(".issues-list") do + page.within("li.issue:nth-child(1)") do + expect(page).to have_content(issue1.title) + end + + page.within("li.issue:nth-child(2)") do + expect(page).to have_content(issue2.title) + end + + page.within("li.issue:nth-child(3)") do + expect(page).to have_content(issue3.title) + end + end + end +end |