From 5677cb0114de78559bb626aa3b0bb456271429df Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Fri, 26 May 2017 17:59:45 +0200 Subject: Seperated Dropdown in new partial Fixed different issues from discussion Fixed a Spinach Test which had now 2 New buttons --- features/steps/project/fork.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'features/steps') diff --git a/features/steps/project/fork.rb b/features/steps/project/fork.rb index 14932491daa..35df403a85f 100644 --- a/features/steps/project/fork.rb +++ b/features/steps/project/fork.rb @@ -42,7 +42,9 @@ class Spinach::Features::ProjectFork < Spinach::FeatureSteps end step 'I click link "New merge request"' do - page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request') + page.within '#content-body' do + page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request') + end end step 'I should see the new merge request page for my namespace' do -- cgit v1.2.1 From 6709e65cfc9fcfbe90427645cd1cf679a28ebddd Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Mon, 29 May 2017 10:24:53 +0200 Subject: Externalised Dropdown Checks for creating new issue Styling of .dropdown-bold-header Fixed Spinach Tests to limit them to the main content area for clicking 'New Project' etc. so that they don't click the dropdown menu --- features/steps/dashboard/new_project.rb | 2 +- features/steps/project/create.rb | 4 +++- features/steps/project/forked_merge_requests.rb | 4 +++- features/steps/project/issues/issues.rb | 4 +++- 4 files changed, 10 insertions(+), 4 deletions(-) (limited to 'features/steps') diff --git a/features/steps/dashboard/new_project.rb b/features/steps/dashboard/new_project.rb index 4fb16d3bb57..766aa9b0468 100644 --- a/features/steps/dashboard/new_project.rb +++ b/features/steps/dashboard/new_project.rb @@ -4,7 +4,7 @@ class Spinach::Features::NewProject < Spinach::FeatureSteps include SharedProject step 'I click "New project" link' do - page.within('.content') do + page.within '#content-body' do click_link "New project" end end diff --git a/features/steps/project/create.rb b/features/steps/project/create.rb index 5f5f806df36..28be9c6df5b 100644 --- a/features/steps/project/create.rb +++ b/features/steps/project/create.rb @@ -5,7 +5,9 @@ class Spinach::Features::ProjectCreate < Spinach::FeatureSteps step 'fill project form with valid data' do fill_in 'project_path', with: 'Empty' - click_button "Create project" + page.within '#content-body' do + click_button "Create project" + end end step 'I should see project page' do diff --git a/features/steps/project/forked_merge_requests.rb b/features/steps/project/forked_merge_requests.rb index 25514eb9ef2..2d9d3efd9d4 100644 --- a/features/steps/project/forked_merge_requests.rb +++ b/features/steps/project/forked_merge_requests.rb @@ -17,7 +17,9 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps end step 'I click link "New Merge Request"' do - page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request') + page.within '#content-body' do + page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request') + end end step 'I should see merge request "Merge Request On Forked Project"' do diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb index 637e6568267..b376c5049c1 100644 --- a/features/steps/project/issues/issues.rb +++ b/features/steps/project/issues/issues.rb @@ -62,7 +62,9 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps end step 'I click link "New issue"' do - page.has_link?('New Issue') ? click_link('New Issue') : click_link('New issue') + page.within '#content-body' do + page.has_link?('New Issue') ? click_link('New Issue') : click_link('New issue') + end end step 'I click "author" dropdown' do -- cgit v1.2.1 From 33748960716916f0e6c6bbc168d4ad7f76120102 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Mon, 29 May 2017 11:28:20 +0200 Subject: Check for Merge Request fixed Fixed couple of spinach test --- features/steps/project/merge_requests.rb | 4 +++- features/steps/project/snippets.rb | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'features/steps') diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index 54b6352c952..17d190711f5 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -14,7 +14,9 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps end step 'I click link "New Merge Request"' do - page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request') + page.within '#content-body' do + page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request') + end end step 'I click link "Bug NS-04"' do diff --git a/features/steps/project/snippets.rb b/features/steps/project/snippets.rb index e3f5e9e3ef3..dd49701a3d9 100644 --- a/features/steps/project/snippets.rb +++ b/features/steps/project/snippets.rb @@ -23,7 +23,9 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps end step 'I click link "New snippet"' do - first(:link, "New snippet").click + page.within '#content-body' do + first(:link, "New snippet").click + end end step 'I click link "Snippet one"' do -- cgit v1.2.1 From 288b2e71c28ddff1ae6372bc8256d9f972aa6c27 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Tue, 6 Jun 2017 16:46:30 +0200 Subject: Added First Test for top right menu --- features/steps/dashboard/new_project.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'features/steps') diff --git a/features/steps/dashboard/new_project.rb b/features/steps/dashboard/new_project.rb index 766aa9b0468..530fd6f7bdb 100644 --- a/features/steps/dashboard/new_project.rb +++ b/features/steps/dashboard/new_project.rb @@ -9,6 +9,12 @@ class Spinach::Features::NewProject < Spinach::FeatureSteps end end + step 'I click "New project" in top right menu' do + page.within '.header-content' do + click_link "New project" + end + end + step 'I see "New Project" page' do expect(page).to have_content('Project path') expect(page).to have_content('Project name') -- cgit v1.2.1 From ebd0767fc76c820088efce236a57e36619f08b6d Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Wed, 7 Jun 2017 11:49:41 +0200 Subject: Fixed New Project Top Menu Test --- features/steps/dashboard/new_project_top_menu.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 features/steps/dashboard/new_project_top_menu.rb (limited to 'features/steps') diff --git a/features/steps/dashboard/new_project_top_menu.rb b/features/steps/dashboard/new_project_top_menu.rb new file mode 100644 index 00000000000..364be964efd --- /dev/null +++ b/features/steps/dashboard/new_project_top_menu.rb @@ -0,0 +1,17 @@ +class Spinach::Features::NewProjectTopMenu < Spinach::FeatureSteps + include SharedAuthentication + include SharedPaths + include SharedProject + + step 'I click "New project" in top right menu' do + page.within '.header-content' do + click_link "New project" + end + end + + step 'I see "New Project" page' do + expect(page).to have_content('Project path') + expect(page).to have_content('Project name') + end + +end -- cgit v1.2.1 From 4871cb7aeed1939fb54563633ffee60e4c1eb46b Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Wed, 7 Jun 2017 15:39:39 +0200 Subject: New ... Menu Feature Tests --- features/steps/dashboard/new_project_top_menu.rb | 17 ------ features/steps/explore/new_menu.rb | 71 ++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 17 deletions(-) delete mode 100644 features/steps/dashboard/new_project_top_menu.rb create mode 100644 features/steps/explore/new_menu.rb (limited to 'features/steps') diff --git a/features/steps/dashboard/new_project_top_menu.rb b/features/steps/dashboard/new_project_top_menu.rb deleted file mode 100644 index 364be964efd..00000000000 --- a/features/steps/dashboard/new_project_top_menu.rb +++ /dev/null @@ -1,17 +0,0 @@ -class Spinach::Features::NewProjectTopMenu < Spinach::FeatureSteps - include SharedAuthentication - include SharedPaths - include SharedProject - - step 'I click "New project" in top right menu' do - page.within '.header-content' do - click_link "New project" - end - end - - step 'I see "New Project" page' do - expect(page).to have_content('Project path') - expect(page).to have_content('Project name') - end - -end diff --git a/features/steps/explore/new_menu.rb b/features/steps/explore/new_menu.rb new file mode 100644 index 00000000000..a480a4705e0 --- /dev/null +++ b/features/steps/explore/new_menu.rb @@ -0,0 +1,71 @@ +class Spinach::Features::NewMenu < Spinach::FeatureSteps + include SharedAuthentication + include SharedPaths + include SharedProject + + step 'I click "New project" in top right menu' do + page.within '.header-content' do + find('.header-new-dropdown-toggle').trigger('click') + expect(page).to have_selector('.header-new.dropdown.open', count: 1) + click_link "New project" + end + end + + step 'I click "New group" in top right menu' do + page.within '.header-content' do + find('.header-new-dropdown-toggle').trigger('click') + expect(page).to have_selector('.header-new.dropdown.open', count: 1) + click_link "New group" + end + end + + step 'I click "New snippet" in top right menu' do + page.within '.header-content' do + find('.header-new-dropdown-toggle').trigger('click') + expect(page).to have_selector('.header-new.dropdown.open', count: 1) + click_link "New snippet" + end + end + + step 'I click "New issue" in top right menu' do + page.within '.header-content' do + find('.header-new-dropdown-toggle').trigger('click') + expect(page).to have_selector('.header-new.dropdown.open', count: 1) + click_link "New issue" + end + end + + step 'I click "New merge request" in top right menu' do + page.within '.header-content' do + find('.header-new-dropdown-toggle').trigger('click') + expect(page).to have_selector('.header-new.dropdown.open', count: 1) + click_link "New merge request" + end + end + + step 'I see "New Project" page' do + expect(page).to have_content('Project path') + expect(page).to have_content('Project name') + end + + step 'I see "New Group" page' do + expect(page).to have_content('Group path') + expect(page).to have_content('Group name') + end + + step 'I see "New Snippet" page' do + expect(page).to have_content('New Snippet') + expect(page).to have_content('Title') + end + + step 'I see "New Issue" page' do + expect(page).to have_content('New Issue') + expect(page).to have_content('Title') + end + + step 'I see "New Merge Request" page' do + expect(page).to have_content('New Merge Request') + expect(page).to have_content('Source branch') + expect(page).to have_content('Target branch') + end +end -- cgit v1.2.1 From beb41aac383dbe525403b418841c55fbb13d7440 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Wed, 7 Jun 2017 17:29:39 +0200 Subject: Added additional classes for easier identifaction during tests Greenfield Tests for Dropdown Menu finished --- features/steps/explore/new_menu.rb | 42 +++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'features/steps') diff --git a/features/steps/explore/new_menu.rb b/features/steps/explore/new_menu.rb index a480a4705e0..bcb6e1eb708 100644 --- a/features/steps/explore/new_menu.rb +++ b/features/steps/explore/new_menu.rb @@ -4,42 +4,42 @@ class Spinach::Features::NewMenu < Spinach::FeatureSteps include SharedProject step 'I click "New project" in top right menu' do - page.within '.header-content' do - find('.header-new-dropdown-toggle').trigger('click') - expect(page).to have_selector('.header-new.dropdown.open', count: 1) - click_link "New project" - end + click_topmenuitem("New project") end step 'I click "New group" in top right menu' do - page.within '.header-content' do - find('.header-new-dropdown-toggle').trigger('click') - expect(page).to have_selector('.header-new.dropdown.open', count: 1) - click_link "New group" - end + click_topmenuitem("New group") end step 'I click "New snippet" in top right menu' do + click_topmenuitem("New snippet") + end + + step 'I click "New project snippet" in top right menu' do page.within '.header-content' do find('.header-new-dropdown-toggle').trigger('click') expect(page).to have_selector('.header-new.dropdown.open', count: 1) - click_link "New snippet" + find('.header-new-project-snippet a').trigger('click') end end step 'I click "New issue" in top right menu' do - page.within '.header-content' do - find('.header-new-dropdown-toggle').trigger('click') - expect(page).to have_selector('.header-new.dropdown.open', count: 1) - click_link "New issue" - end + click_topmenuitem("New issue") end step 'I click "New merge request" in top right menu' do + click_topmenuitem("New merge request") + end + + step 'I click "New subgroup" in top right menu' do + click_topmenuitem("New subgroup") + end + + step 'I click "New group project" in top right menu' do page.within '.header-content' do find('.header-new-dropdown-toggle').trigger('click') expect(page).to have_selector('.header-new.dropdown.open', count: 1) - click_link "New merge request" + find('.header-new-group-project a').trigger('click') end end @@ -68,4 +68,12 @@ class Spinach::Features::NewMenu < Spinach::FeatureSteps expect(page).to have_content('Source branch') expect(page).to have_content('Target branch') end + + def click_topmenuitem(item_name) + page.within '.header-content' do + find('.header-new-dropdown-toggle').trigger('click') + expect(page).to have_selector('.header-new.dropdown.open', count: 1) + click_link item_name + end + end end -- cgit v1.2.1 From f20337ca8ef39bf9907a09e23111262d0dfa4e49 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Wed, 7 Jun 2017 18:38:37 +0200 Subject: Fix for Login Test Problem --- features/steps/explore/new_menu.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'features/steps') diff --git a/features/steps/explore/new_menu.rb b/features/steps/explore/new_menu.rb index bcb6e1eb708..17fd3a9a8ce 100644 --- a/features/steps/explore/new_menu.rb +++ b/features/steps/explore/new_menu.rb @@ -2,6 +2,8 @@ class Spinach::Features::NewMenu < Spinach::FeatureSteps include SharedAuthentication include SharedPaths include SharedProject + include SharedGroup + include SharedUser step 'I click "New project" in top right menu' do click_topmenuitem("New project") -- cgit v1.2.1 From 32cac597275706930b221b19fb20b29ccebc7130 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Wed, 7 Jun 2017 18:33:50 +0000 Subject: Added more actions and report as abuse to all notes --- features/steps/project/merge_requests.rb | 6 ++++++ features/steps/shared/note.rb | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'features/steps') diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index 7f1e9e693af..ce6d1a6b8d0 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -297,6 +297,9 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps step 'I change the comment "Line is wrong" to "Typo, please fix" on diff' do page.within('.diff-file:nth-of-type(5) .note') do + find('.more-actions').click + find('.more-actions .dropdown-menu li', match: :first) + find('.js-note-edit').click page.within('.current-note-edit-form', visible: true) do @@ -322,6 +325,9 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps step 'I delete the comment "Line is wrong" on diff' do page.within('.diff-file:nth-of-type(5) .note') do + find('.more-actions').click + find('.more-actions .dropdown-menu li', match: :first) + find('.js-note-delete').click end end diff --git a/features/steps/shared/note.rb b/features/steps/shared/note.rb index 44eb8f321dd..80187b83fee 100644 --- a/features/steps/shared/note.rb +++ b/features/steps/shared/note.rb @@ -8,7 +8,12 @@ module SharedNote step 'I delete a comment' do page.within('.main-notes-list') do - find('.note').hover + note = find('.note') + note.hover + + note.find('.more-actions').click + note.find('.more-actions .dropdown-menu li', match: :first) + find(".js-note-delete").click end end @@ -139,8 +144,13 @@ module SharedNote step 'I edit the last comment with a +1' do page.within(".main-notes-list") do - find(".note").hover - find('.js-note-edit').click + note = find('.note') + note.hover + + note.find('.more-actions').click + note.find('.more-actions .dropdown-menu li', match: :first) + + note.find('.js-note-edit').click end page.within(".current-note-edit-form") do -- cgit v1.2.1 From 9647d2e76d05e8720bfe695918e292e57307900e Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Wed, 7 Jun 2017 23:59:25 +0200 Subject: Enhancing Spec's with negative cases --- features/steps/explore/new_menu.rb | 81 -------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 features/steps/explore/new_menu.rb (limited to 'features/steps') diff --git a/features/steps/explore/new_menu.rb b/features/steps/explore/new_menu.rb deleted file mode 100644 index 17fd3a9a8ce..00000000000 --- a/features/steps/explore/new_menu.rb +++ /dev/null @@ -1,81 +0,0 @@ -class Spinach::Features::NewMenu < Spinach::FeatureSteps - include SharedAuthentication - include SharedPaths - include SharedProject - include SharedGroup - include SharedUser - - step 'I click "New project" in top right menu' do - click_topmenuitem("New project") - end - - step 'I click "New group" in top right menu' do - click_topmenuitem("New group") - end - - step 'I click "New snippet" in top right menu' do - click_topmenuitem("New snippet") - end - - step 'I click "New project snippet" in top right menu' do - page.within '.header-content' do - find('.header-new-dropdown-toggle').trigger('click') - expect(page).to have_selector('.header-new.dropdown.open', count: 1) - find('.header-new-project-snippet a').trigger('click') - end - end - - step 'I click "New issue" in top right menu' do - click_topmenuitem("New issue") - end - - step 'I click "New merge request" in top right menu' do - click_topmenuitem("New merge request") - end - - step 'I click "New subgroup" in top right menu' do - click_topmenuitem("New subgroup") - end - - step 'I click "New group project" in top right menu' do - page.within '.header-content' do - find('.header-new-dropdown-toggle').trigger('click') - expect(page).to have_selector('.header-new.dropdown.open', count: 1) - find('.header-new-group-project a').trigger('click') - end - end - - step 'I see "New Project" page' do - expect(page).to have_content('Project path') - expect(page).to have_content('Project name') - end - - step 'I see "New Group" page' do - expect(page).to have_content('Group path') - expect(page).to have_content('Group name') - end - - step 'I see "New Snippet" page' do - expect(page).to have_content('New Snippet') - expect(page).to have_content('Title') - end - - step 'I see "New Issue" page' do - expect(page).to have_content('New Issue') - expect(page).to have_content('Title') - end - - step 'I see "New Merge Request" page' do - expect(page).to have_content('New Merge Request') - expect(page).to have_content('Source branch') - expect(page).to have_content('Target branch') - end - - def click_topmenuitem(item_name) - page.within '.header-content' do - find('.header-new-dropdown-toggle').trigger('click') - expect(page).to have_selector('.header-new.dropdown.open', count: 1) - click_link item_name - end - end -end -- cgit v1.2.1