diff options
Diffstat (limited to 'features')
-rw-r--r-- | features/project/active_tab.feature | 138 | ||||
-rw-r--r-- | features/project/fork.feature | 49 | ||||
-rw-r--r-- | features/steps/project/active_tab.rb | 127 | ||||
-rw-r--r-- | features/steps/project/fork.rb | 85 |
4 files changed, 0 insertions, 399 deletions
diff --git a/features/project/active_tab.feature b/features/project/active_tab.feature deleted file mode 100644 index 3ea0aab5a67..00000000000 --- a/features/project/active_tab.feature +++ /dev/null @@ -1,138 +0,0 @@ -Feature: Project Active Tab - Background: - Given I sign in as a user - And I own a project - - # Main Tabs - - Scenario: On Project Home - Given I visit my project's home page - Then the active sub tab should be Home - And no other sub tabs should be active - And the active main tab should be Project - - Scenario: On Project Repository - Given I visit my project's files page - Then the active main tab should be Repository - And no other main tabs should be active - - Scenario: On Project Issues - Given I visit my project's issues page - Then the active main tab should be Issues - And no other main tabs should be active - - Scenario: On Project Merge Requests - Given I visit my project's merge requests page - Then the active main tab should be Merge Requests - And no other main tabs should be active - - Scenario: On Project Wiki - Given I visit my project's wiki page - Then the active main tab should be Wiki - And no other main tabs should be active - - Scenario: On Project Members - Given I visit my project's members page - Then the active main tab should be Members - And no other main tabs should be active - - # Sub Tabs: Home - - Scenario: On Project Home/Show - Given I visit my project's home page - Then the active sub tab should be Home - And no other sub tabs should be active - And the active main tab should be Project - And no other main tabs should be active - - Scenario: On Project Home/Activity - Given I visit my project's home page - And I click the "Activity" tab - Then the active sub tab should be Activity - And no other sub tabs should be active - And the active main tab should be Project - - # Sub Tabs: Settings - - Scenario: On Project Settings/Integrations - Given I visit my project's settings page - And I click the "Integrations" tab - Then the active sub tab should be Integrations - And no other sub tabs should be active - And the active main tab should be Settings - - Scenario: On Project Settings/Repository - Given I visit my project's settings page - And I click the "Repository" tab - Then the active sub tab should be Repository - And no other sub tabs should be active - And the active main tab should be Settings - - # Sub Tabs: Repository - - Scenario: On Project Repository/Files - Given I visit my project's files page - Then the active sub tab should be Files - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Repository/Commits - Given I visit my project's commits page - Then the active sub tab should be Commits - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Repository/Graph - Given I visit my project's graph page - Then the active sub tab should be Graph - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Repository/Compare - Given I visit my project's commits page - And I click the "Compare" tab - Then the active sub tab should be Compare - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Repository/Charts - Given I visit my project's commits page - And I click the "Charts" tab - Then the active sub tab should be Charts - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Repository/Branches - Given I visit my project's commits page - And I click the "Branches" tab - Then the active sub tab should be Branches - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Repository/Tags - Given I visit my project's commits page - And I click the "Tags" tab - Then the active sub tab should be Tags - And no other sub tabs should be active - And the active main tab should be Repository - - Scenario: On Project Issues/Browse - Given I visit my project's issues page - Then the active main tab should be Issues - And no other main tabs should be active - - Scenario: On Project Issues/Milestones - Given I visit my project's issues page - And I click the "Milestones" sub tab - Then the active main tab should be Issues - Then the active sub tab should be Milestones - And no other main tabs should be active - And no other sub tabs should be active - - Scenario: On Project Issues/Labels - Given I visit my project's issues page - And I click the "Labels" sub tab - Then the active main tab should be Issues - Then the active sub tab should be Labels - And no other main tabs should be active - And no other sub tabs should be active diff --git a/features/project/fork.feature b/features/project/fork.feature deleted file mode 100644 index ca3f2771aa5..00000000000 --- a/features/project/fork.feature +++ /dev/null @@ -1,49 +0,0 @@ -Feature: Project Fork - Background: - Given I sign in as a user - And I am a member of project "Shop" - When I visit project "Shop" page - - Scenario: User fork a project - Given I click link "Fork" - When I fork to my namespace - Then I should see the forked project page - - Scenario: User already has forked the project - Given I already have a project named "Shop" in my namespace - And I click link "Fork" - When I fork to my namespace - Then I should see a "Name has already been taken" warning - - Scenario: Merge request on canonical repo goes to fork merge request page - Given I click link "Fork" - And I fork to my namespace - Then I should see the forked project page - When I visit project "Shop" page - Then I should see "New merge request" - And I goto the Merge Requests page - Then I should see "New merge request" - And I click link "New merge request" - Then I should see the new merge request page for my namespace - - Scenario: Viewing forks of a Project - Given I click link "Fork" - When I fork to my namespace - And I visit the forks page of the "Shop" project - Then I should see my fork on the list - - Scenario: Viewing forks of a Project that has no repo - Given I click link "Fork" - When I fork to my namespace - And I make forked repo invalid - And I visit the forks page of the "Shop" project - Then I should see my fork on the list - - Scenario: Viewing private forks of a Project - Given There is an existent fork of the "Shop" project - And I click link "Fork" - When I fork to my namespace - And I visit the forks page of the "Shop" project - Then I should see my fork on the list - And I should not see the other fork listed - And I should see a private fork notice diff --git a/features/steps/project/active_tab.rb b/features/steps/project/active_tab.rb deleted file mode 100644 index 1a18f1d7065..00000000000 --- a/features/steps/project/active_tab.rb +++ /dev/null @@ -1,127 +0,0 @@ -class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps - include SharedAuthentication - include SharedPaths - include SharedProject - include SharedActiveTab - include SharedProjectTab - - # Sub Tabs: Home - - step 'I click the "Team" tab' do - click_link('Members') - end - - step 'I click the "Attachments" tab' do - click_link('Attachments') - end - - step 'I click the "Snippets" tab' do - page.within('.layout-nav') do - click_link('Snippets') - end - end - - step 'I click the "Edit Project"' do - page.within '.nav-sidebar' do - click_link('Edit Project') - end - end - - step 'I click the "Integrations" tab' do - page.within '.nav-sidebar' do - click_link('Integrations') - end - end - - step 'I click the "Repository" tab' do - page.within '.sidebar-top-level-items > .active' do - click_link('Repository') - end - end - - step 'I click the "Activity" tab' do - page.within '.sidebar-top-level-items > .active' do - click_link('Activity') - end - end - - step 'the active sub tab should be Members' do - ensure_active_sub_tab('Members') - end - - step 'the active sub tab should be Integrations' do - ensure_active_sub_tab('Integrations') - end - - step 'the active sub tab should be Repository' do - ensure_active_sub_tab('Repository') - end - - step 'the active sub tab should be Pages' do - ensure_active_sub_tab('Pages') - end - - step 'the active sub tab should be Activity' do - ensure_active_sub_tab('Activity') - end - - # Sub Tabs: Commits - - step 'I click the "Compare" tab' do - click_link('Compare') - end - - step 'I click the "Branches" tab' do - page.within '.nav-sidebar' do - click_link('Branches') - end - end - - step 'I click the "Tags" tab' do - click_link('Tags') - end - - step 'I click the "Charts" tab' do - page.within('.sidebar-top-level-items > .active') do - click_link('Charts') - end - end - - step 'the active sub tab should be Compare' do - ensure_active_sub_tab('Compare') - end - - step 'the active sub tab should be Branches' do - ensure_active_sub_tab('Branches') - end - - step 'the active sub tab should be Tags' do - ensure_active_sub_tab('Tags') - end - - # Sub Tabs: Issues - - step 'I click the "Milestones" sub tab' do - page.within('.nav-sidebar') do - click_link('Milestones') - end - end - - step 'I click the "Labels" sub tab' do - page.within('.nav-sidebar') do - click_link('Labels') - end - end - - step 'the active sub tab should be Issues' do - ensure_active_sub_tab('Issues') - end - - step 'the active sub tab should be Milestones' do - ensure_active_sub_tab('Milestones') - end - - step 'the active sub tab should be Labels' do - ensure_active_sub_tab('Labels') - end -end diff --git a/features/steps/project/fork.rb b/features/steps/project/fork.rb deleted file mode 100644 index 0350e1c2aef..00000000000 --- a/features/steps/project/fork.rb +++ /dev/null @@ -1,85 +0,0 @@ -class Spinach::Features::ProjectFork < Spinach::FeatureSteps - include SharedAuthentication - include SharedPaths - include SharedProject - - step 'I click link "Fork"' do - expect(page).to have_content "Shop" - click_link "Fork" - end - - step 'I am a member of project "Shop"' do - @project = create(:project, :repository, name: "Shop") - @project.add_reporter(@user) - end - - step 'I should see the forked project page' do - expect(page).to have_content "Forked from" - end - - step 'I already have a project named "Shop" in my namespace' do - @my_project = create(:project, :repository, name: "Shop", namespace: current_user.namespace) - end - - step 'I should see a "Name has already been taken" warning' do - expect(page).to have_content "Name has already been taken" - end - - step 'I fork to my namespace' do - page.within '.fork-thumbnail-container' do - click_link current_user.name - end - end - - step 'I should see "New merge request"' do - expect(page).to have_content(/new merge request/i) - end - - step 'I goto the Merge Requests page' do - page.within '.nav-sidebar' do - first(:link, "Merge Requests").click - end - end - - step 'I click link "New merge request"' do - 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 - current_path.should have_content(/#{current_user.namespace.name}/i) - end - - step 'I visit the forks page of the "Shop" project' do - @project = Project.where(name: 'Shop').first - visit project_forks_path(@project) - end - - step 'I should see my fork on the list' do - page.within('.js-projects-list-holder') do - project = @user.fork_of(@project.reload) - expect(page).to have_content("#{project.namespace.human_name} / #{project.name}") - end - end - - step 'I make forked repo invalid' do - project = @user.fork_of(@project.reload) - project.path = 'test-crappy-path' - project.save! - end - - step 'There is an existent fork of the "Shop" project' do - user = create(:user, name: 'Mike') - @project.add_reporter(user) - @forked_project = Projects::ForkService.new(@project, user).execute - end - - step 'I should not see the other fork listed' do - expect(page).not_to have_content("#{@forked_project.namespace.human_name} / #{@forked_project.name}") - end - - step 'I should see a private fork notice' do - expect(page).to have_content("1 private fork") - end -end |