OSDN Git Service

Comments cucumber. More refactoring. Cucumber -> branches, tags
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Fri, 3 Aug 2012 16:59:55 +0000 (19:59 +0300)
committerrandx <dmitriy.zaporozhets@gmail.com>
Fri, 3 Aug 2012 16:59:55 +0000 (19:59 +0300)
16 files changed:
features/projects/commits/branches.feature
features/projects/commits/commit_comments.feature
features/projects/commits/tags.feature
features/projects/issues/issues.feature
features/projects/project.feature [new file with mode: 0644]
features/projects/wiki.feature
features/step_definitions/project/project_commits_steps.rb
features/step_definitions/project/project_issues_steps.rb
features/step_definitions/project/projects_steps.rb
spec/monkeypatch.rb
spec/requests/commits_notes_spec.rb [deleted file]
spec/requests/repositories_spec.rb [deleted file]
spec/requests/security/profile_access_spec.rb [moved from spec/requests/user_security_spec.rb with 84% similarity]
spec/requests/security/project_access_spec.rb [moved from spec/requests/access_spec.rb with 100% similarity]
spec/requests/team_members_spec.rb [deleted file]
spec/requests/wikis_notes_spec.rb [deleted file]

index 2b136e1..74575c5 100644 (file)
@@ -2,9 +2,19 @@ Feature: Browse branches
   Background: 
     Given I signin as a user
     And I own project "Shop"
+    And project "Shop" has protected branches
     Given I visit project branches page
 
-  Scenario: I can see all git branches
+  Scenario: I can see project recent git branches
+    Then I should see "Shop" recent branches list
+
+  Scenario: I can see project all git branches
+    Given I click link "All"
+    Then I should see "Shop" all branches list
+
+  Scenario: I can see project protected git branches
+    Given I click link "Protected"
+    Then I should see "Shop" protected branches list
 
   Scenario: I can download project by branch
 
index bdf47b8..9bd56d2 100644 (file)
@@ -4,4 +4,7 @@ Feature: Comment commit
     And I own project "Shop"
     Given I visit project commit page
 
-  Scenario: I leave a comment for commit
+  @javascript
+  Scenario: I comment commit
+    Given I leave a comment like "XML attached"
+    Then I should see comment "XML attached"
index 8122174..f7899fc 100644 (file)
@@ -5,7 +5,6 @@ Feature: Browse tags
     Given I visit project tags page
 
   Scenario: I can see all git tags
+    Then I should see "Shop" all tags list
 
   Scenario: I can download project by tag
-
-
index a45dd80..180710c 100644 (file)
@@ -35,4 +35,4 @@ Feature: Issues
   Scenario: I comment issue
     Given I visit issue page "Release 0.4"
     And I leave a comment like "XML attached"
-    Then I should see commetn "XML attached"
+    Then I should see comment "XML attached"
diff --git a/features/projects/project.feature b/features/projects/project.feature
new file mode 100644 (file)
index 0000000..895a928
--- /dev/null
@@ -0,0 +1,11 @@
+Feature: Project
+  Background:
+    Given I signin as a user
+    And I own project "Shop"
+    And I visit project "Shop" page 
+
+  Scenario: I should see project activity
+
+  Scenario: I edit project
+
+  Scenario: I visit attachments
index ed69e87..4441ada 100644 (file)
@@ -7,3 +7,9 @@ Feature: Wiki
   Scenario: Add new page
     Given I create Wiki page
     Then I should see newly created wiki page
+
+  @javascript
+  Scenario: I comment wiki page
+    Given I create Wiki page
+    And I leave a comment like "XML attached"
+    Then I should see comment "XML attached"
index 9b3b0aa..35fcb4d 100644 (file)
@@ -59,3 +59,30 @@ end
 Given /^I visit project tags page$/ do
   visit tags_project_repository_path(@project)
 end
+
+Then /^I should see "(.*?)" recent branches list$/ do |arg1|
+  page.should have_content("Branches")
+  page.should have_content("master")
+end
+
+Then /^I should see "(.*?)" all branches list$/ do |arg1|
+  page.should have_content("Branches")
+  page.should have_content("master")
+end
+
+Then /^I should see "(.*?)" all tags list$/ do |arg1|
+  page.should have_content("Tags")
+  page.should have_content("v1.2.1")
+end
+
+Then /^I should see "(.*?)" protected branches list$/ do |arg1|
+  within "table" do 
+    page.should have_content "stable"
+    page.should_not have_content "master"
+  end
+end
+
+Given /^project "(.*?)" has protected branches$/ do |arg1|
+  project = Project.find_by_name(arg1)
+  project.protected_branches.create(:name => "stable")
+end
index 2c47f37..00a1721 100644 (file)
@@ -32,15 +32,6 @@ Given /^I visit issue page "(.*?)"$/ do |arg1|
   visit project_issue_path(issue.project, issue)
 end
 
-Given /^I leave a comment like "(.*?)"$/ do |arg1|
-  fill_in "note_note", :with => arg1
-  click_button "Add Comment"
-end
-
-Then /^I should see commetn "(.*?)"$/ do |arg1|
-  page.should have_content(arg1)
-end
-
 Given /^I submit new issue "(.*?)"$/ do |arg1|
   fill_in "issue_title", :with => arg1
   click_button "Submit new issue"
index bca1213..c9af346 100644 (file)
@@ -50,6 +50,11 @@ Given /^I write new comment "(.*?)"$/ do |arg1|
   click_button "Add Comment"
 end
 
+Given /^I visit project "(.*?)" page$/ do |arg1|
+  project = Project.find_by_name(arg1)
+  visit project_path(project)
+end
+
 Given /^I visit project "(.*?)" network page$/ do |arg1|
   project = Project.find_by_name(arg1)
   visit graph_project_path(project)
@@ -66,3 +71,12 @@ Given /^page should have network graph$/ do
     page.should have_content "notes_refacto..."
   end
 end
+
+Given /^I leave a comment like "(.*?)"$/ do |arg1|
+  fill_in "note_note", :with => arg1
+  click_button "Add Comment"
+end
+
+Then /^I should see comment "(.*?)"$/ do |arg1|
+  page.should have_content(arg1)
+end
index 6133631..93dda01 100644 (file)
@@ -44,4 +44,8 @@ class FakeSatellite
   end
 end
 
-
+class ProtectedBranch
+  def update_repository
+    true
+  end
+end
diff --git a/spec/requests/commits_notes_spec.rb b/spec/requests/commits_notes_spec.rb
deleted file mode 100644 (file)
index fde42a8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-require 'spec_helper'
-
-describe "Issues" do
-  let(:project) { Factory :project }
-  let!(:commit) { project.repo.commits.first }
-
-  before do
-    login_as :user
-    project.add_access(@user, :read, :write)
-  end
-
-  describe "add new note", :js => true do
-    before do
-      visit project_commit_path(project, commit)
-      fill_in "note_note", :with => "I commented this commit"
-      click_button "Add Comment"
-    end
-
-    it "should conatin new note" do
-      page.should have_content("I commented this commit")
-    end
-
-    it "should be displayed when i visit this commit again" do 
-      visit project_commit_path(project, commit)
-      page.should have_content("I commented this commit")
-    end
-  end
-end
diff --git a/spec/requests/repositories_spec.rb b/spec/requests/repositories_spec.rb
deleted file mode 100644 (file)
index 1bf4c8d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-require 'spec_helper'
-
-describe "Repository" do
-
-  before do
-    @user = Factory :user
-    @project = Factory :project
-    @project.add_access(@user, :read, :write)
-    login_with @user
-  end
-
-  describe "GET /:project_name/repository" do
-    before do
-      visit project_repository_path(@project)
-    end
-
-    it "should be on projects page" do
-      current_path.should == project_repository_path(@project)
-    end
-
-    it "should have link to last commit for activities tab" do
-      page.should have_content(@project.commit.safe_message[0..20])
-    end
-  end
-
-  describe "GET /:project_name/repository/branches" do
-    before do
-      visit branches_project_repository_path(@project)
-    end
-
-    it "should have link to repo activities" do
-      page.should have_content("Branches")
-      page.should have_content("master")
-    end
-  end
-
-  # TODO: Add new repo to seeds with tags list
-  describe "GET /:project_name/repository/tags" do
-    before do
-      visit tags_project_repository_path(@project)
-    end
-
-    it "should have link to repo activities" do
-      page.should have_content("Tags")
-      page.should have_content("v1.2.1")
-    end
-  end
-end
-
similarity index 84%
rename from spec/requests/user_security_spec.rb
rename to spec/requests/security/profile_access_spec.rb
index b75a177..b8ed27f 100644 (file)
@@ -7,9 +7,6 @@ describe "Users Security" do
     end
 
     describe "GET /login" do
-      #it { new_user_session_path.should be_denied_for @u1 }
-      #it { new_user_session_path.should be_denied_for :admin }
-      #it { new_user_session_path.should be_denied_for :user }
       it { new_user_session_path.should_not be_404_for :visitor }
     end
 
diff --git a/spec/requests/team_members_spec.rb b/spec/requests/team_members_spec.rb
deleted file mode 100644 (file)
index 34e34f5..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-require 'spec_helper'
-
-describe "TeamMembers" do
-  before do
-    login_as :user
-    @project = Factory :project
-    @project.add_access(@user, :read, :admin)
-  end
-
-  describe "Update profile", :js => true do
-    it "should update user role" do
-      @project.master_access_for?(@user).should be_true
-      visit team_project_path(@project)
-      select "Developer", :from => "team_member_project_access"
-      @project.master_access_for?(@user).should be_false
-      @project.dev_access_for?(@user).should be_true
-    end
-  end
-
-  describe "View profile" do
-    it "should be available" do
-      visit(team_project_path(@project))
-      click_link(@user.name)
-      page.should have_content @user.skype
-      page.should_not have_content 'Twitter'
-    end
-  end
-
-  describe "New Team member" do
-    before do
-      @user_1 = Factory :user
-      visit team_project_path(@project)
-      click_link "New Team Member"
-    end
-
-    it "should open new team member popup" do
-      page.should have_content("New Team member")
-    end
-
-    describe "fill in" do
-      before do
-        within "#new_team_member" do 
-          select @user_1.name, :from => "team_member_user_id"
-          select "Reporter", :from => "team_member_project_access"
-        end
-      end
-
-      it { expect { click_button "Save";sleep(1) }.to change {UsersProject.count}.by(1) }
-
-      it "should add new member to table" do
-        click_button "Save"
-        @member = UsersProject.last
-
-        page.should have_content @user_1.name
-
-        @member.reload
-        @member.project_access.should == UsersProject::REPORTER
-      end
-    end
-  end
-
-  describe "Cancel membership" do
-    it "should cancel membership" do
-      visit project_team_member_path(@project, @project.users_projects.last)
-      expect { click_link "Remove from team" }.to change { UsersProject.count }.by(-1)
-    end
-  end
-end
diff --git a/spec/requests/wikis_notes_spec.rb b/spec/requests/wikis_notes_spec.rb
deleted file mode 100644 (file)
index 144d031..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-require 'spec_helper'
-
-describe "Wikis" do
-  let(:project) { Factory :project }
-
-  before do
-    login_as :user
-    project.add_access(@user, :read, :write)
-  end
-
-  describe "add new note", :js => true do
-    before do
-      visit project_wiki_path(project, :index)
-      
-      fill_in "Title", :with => 'Test title'
-      fill_in "Content", :with => '[link test](test)'
-      click_on "Save"
-      
-      page.should have_content("Test title")
-      
-      fill_in "note_note", :with => "Comment on wiki!"
-      click_button "Add Comment"
-    end
-
-    it "should contain the new note" do
-      page.should have_content("Comment on wiki!")
-    end
-  end
-end