diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/factories.rb | 1 | ||||
-rw-r--r-- | spec/models/issue_spec.rb | 1 | ||||
-rw-r--r-- | spec/models/merge_request_spec.rb | 16 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 19 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/users_project_spec.rb | 15 | ||||
-rw-r--r-- | spec/requests/dashboard_issues_spec.rb | 57 | ||||
-rw-r--r-- | spec/requests/dashboard_merge_requests_spec.rb | 47 | ||||
-rw-r--r-- | spec/requests/dashboard_spec.rb | 6 | ||||
-rw-r--r-- | spec/requests/issues_spec.rb | 7 | ||||
-rw-r--r-- | spec/requests/keys_spec.rb | 15 | ||||
-rw-r--r-- | spec/requests/merge_requests_spec.rb | 14 | ||||
-rw-r--r-- | spec/requests/projects_spec.rb | 4 | ||||
-rw-r--r-- | spec/requests/snippets_spec.rb | 8 |
14 files changed, 174 insertions, 38 deletions
diff --git a/spec/factories.rb b/spec/factories.rb index 86e4d1e4481..15e54ed2120 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -38,6 +38,7 @@ Factory.add(:merge_request, MergeRequest) do |obj| obj.title = Faker::Lorem.sentence obj.source_branch = "master" obj.target_branch = "master" + obj.closed = false end Factory.add(:snippet, Snippet) do |obj| diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index ac6786333d1..74eb5b93f21 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -39,5 +39,6 @@ end # closed :boolean default(FALSE), not null # position :integer default(0) # critical :boolean default(FALSE), not null +# branch_name :string(255) # diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index e6868779f42..f6b4cbc8416 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -26,3 +26,19 @@ describe MergeRequest do :assignee => Factory(:user), :project => Factory.create(:project)).should be_valid } end +# == Schema Information +# +# Table name: merge_requests +# +# id :integer not null, primary key +# target_branch :string(255) not null +# source_branch :string(255) not null +# project_id :integer not null +# author_id :integer +# assignee_id :integer +# title :string(255) +# closed :boolean default(FALSE), not null +# created_at :datetime +# updated_at :datetime +# + diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 444e49a66d5..68bc82de898 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -290,14 +290,15 @@ end # # Table name: projects # -# id :integer not null, primary key -# name :string(255) -# path :string(255) -# description :text -# created_at :datetime -# updated_at :datetime -# private_flag :boolean default(TRUE), not null -# code :string(255) -# owner_id :integer +# id :integer not null, primary key +# name :string(255) +# path :string(255) +# description :text +# created_at :datetime +# updated_at :datetime +# private_flag :boolean default(TRUE), not null +# code :string(255) +# owner_id :integer +# default_branch :string(255) default("master"), not null # diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 4e1f130887e..3a3ac7c9c80 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -6,6 +6,8 @@ describe User do it { should have_many(:users_projects) } it { should have_many(:issues) } it { should have_many(:assigned_issues) } + it { should have_many(:merge_requests) } + it { should have_many(:assigned_merge_requests) } end describe "Respond to" do diff --git a/spec/models/users_project_spec.rb b/spec/models/users_project_spec.rb index c15391619c6..41e36b57204 100644 --- a/spec/models/users_project_spec.rb +++ b/spec/models/users_project_spec.rb @@ -20,13 +20,12 @@ end # # Table name: users_projects # -# id :integer not null, primary key -# user_id :integer not null -# project_id :integer not null -# read :boolean default(FALSE) -# write :boolean default(FALSE) -# admin :boolean default(FALSE) -# created_at :datetime -# updated_at :datetime +# id :integer not null, primary key +# user_id :integer not null +# project_id :integer not null +# created_at :datetime +# updated_at :datetime +# repo_access :integer default(0), not null +# project_access :integer default(0), not null # diff --git a/spec/requests/dashboard_issues_spec.rb b/spec/requests/dashboard_issues_spec.rb new file mode 100644 index 00000000000..46c5553e155 --- /dev/null +++ b/spec/requests/dashboard_issues_spec.rb @@ -0,0 +1,57 @@ +require 'spec_helper' + +describe "User Issues Dashboard" do + describe "GET /issues" do + before do + + login_as :user + + @project1 = Factory :project, + :path => "project1", + :code => "TEST1" + + @project2 = Factory :project, + :path => "project2", + :code => "TEST2" + + @project1.add_access(@user, :read, :write) + @project2.add_access(@user, :read, :write) + + @issue1 = Factory :issue, + :author => @user, + :assignee => @user, + :project => @project1 + + @issue2 = Factory :issue, + :author => @user, + :assignee => @user, + :project => @project2 + + visit dashboard_issues_path + end + + subject { page } + + it { should have_content(@issue1.title[0..10]) } + it { should have_content(@issue1.project.name) } + it { should have_content(@issue1.assignee.name) } + + it { should have_content(@issue2.title[0..10]) } + it { should have_content(@issue2.project.name) } + it { should have_content(@issue2.assignee.name) } + + describe "atom feed", :js => false do + it "should render atom feed via private token" do + logout + visit dashboard_issues_path(:atom, :private_token => @user.private_token) + + page.response_headers['Content-Type'].should have_content("application/atom+xml") + page.body.should have_selector("title", :text => "#{@user.name} issues") + page.body.should have_selector("author email", :text => @issue1.author_email) + page.body.should have_selector("entry summary", :text => @issue1.title) + page.body.should have_selector("author email", :text => @issue2.author_email) + page.body.should have_selector("entry summary", :text => @issue2.title) + end + end + end +end diff --git a/spec/requests/dashboard_merge_requests_spec.rb b/spec/requests/dashboard_merge_requests_spec.rb new file mode 100644 index 00000000000..e591609547e --- /dev/null +++ b/spec/requests/dashboard_merge_requests_spec.rb @@ -0,0 +1,47 @@ +require 'spec_helper' + +describe "User MergeRequests" do + describe "GET /issues" do + before do + + login_as :user + + @project1 = Factory :project, + :path => "project1", + :code => "TEST1" + + @project2 = Factory :project, + :path => "project2", + :code => "TEST2" + + @project1.add_access(@user, :read, :write) + @project2.add_access(@user, :read, :write) + + @merge_request1 = Factory :merge_request, + :author => @user, + :assignee => @user, + :project => @project1 + + @merge_request2 = Factory :merge_request, + :author => @user, + :assignee => @user, + :project => @project2 + + visit dashboard_merge_requests_path + end + + subject { page } + + it { should have_content(@merge_request1.title[0..10]) } + it { should have_content(@merge_request1.project.name) } + it { should have_content(@merge_request1.target_branch) } + it { should have_content(@merge_request1.source_branch) } + it { should have_content(@merge_request1.assignee.name) } + + it { should have_content(@merge_request2.title[0..10]) } + it { should have_content(@merge_request2.project.name) } + it { should have_content(@merge_request2.target_branch) } + it { should have_content(@merge_request2.source_branch) } + it { should have_content(@merge_request2.assignee.name) } + end +end diff --git a/spec/requests/dashboard_spec.rb b/spec/requests/dashboard_spec.rb index 331aeeb99c2..d967e886302 100644 --- a/spec/requests/dashboard_spec.rb +++ b/spec/requests/dashboard_spec.rb @@ -1,11 +1,13 @@ require 'spec_helper' describe "Dashboard" do - before { login_as :user } + before do + @project = Factory :project + login_as :user + end describe "GET /dashboard" do before do - @project = Factory :project @project.add_access(@user, :read, :write) visit dashboard_path end diff --git a/spec/requests/issues_spec.rb b/spec/requests/issues_spec.rb index 29dc473939f..62daf168b78 100644 --- a/spec/requests/issues_spec.rb +++ b/spec/requests/issues_spec.rb @@ -23,7 +23,7 @@ describe "Issues" do subject { page } - it { should have_content(@issue.title) } + it { should have_content(@issue.title[0..20]) } it { should have_content(@issue.project.name) } it { should have_content(@issue.assignee.name) } @@ -96,7 +96,7 @@ describe "Issues" do end it "should open new issue form" do - page.should have_content("New issue") + page.should have_content("New Issue") end describe "fill in" do @@ -147,13 +147,12 @@ describe "Issues" do click_button "Save" end - it "should send valid email to user with email & password" do + it "should send valid email to user" do click_button "Save" issue = Issue.last email = ActionMailer::Base.deliveries.last email.subject.should have_content("New Issue was created") email.body.should have_content(issue.title) - email.body.should have_content(issue.assignee.name) end end diff --git a/spec/requests/keys_spec.rb b/spec/requests/keys_spec.rb index 6ce22b30883..be1f42a497c 100644 --- a/spec/requests/keys_spec.rb +++ b/spec/requests/keys_spec.rb @@ -16,9 +16,11 @@ describe "Issues" do it { should have_content(@key.title) } describe "Destroy" do + before { visit key_path(@key) } + it "should remove entry" do expect { - click_link "destroy_key_#{@key.id}" + click_link "Remove" }.to change { @user.keys.count }.by(-1) end end @@ -47,8 +49,17 @@ describe "Issues" do page.should_not have_content("Add new public key") page.should have_content "laptop" - page.should have_content "publickey234=" end end end + + describe "Show page" do + before do + @key = Factory :key, :user => @user + visit key_path(@key) + end + + it { page.should have_content @key.title } + it { page.should have_content @key.key[0..10] } + end end diff --git a/spec/requests/merge_requests_spec.rb b/spec/requests/merge_requests_spec.rb index b03ab2190a7..7d9fd67b926 100644 --- a/spec/requests/merge_requests_spec.rb +++ b/spec/requests/merge_requests_spec.rb @@ -19,7 +19,7 @@ describe "MergeRequests" do subject { page } - it { should have_content(@merge_request.title) } + it { should have_content(@merge_request.title[0..10]) } it { should have_content(@merge_request.target_branch) } it { should have_content(@merge_request.source_branch) } it { should have_content(@merge_request.assignee.name) } @@ -32,7 +32,7 @@ describe "MergeRequests" do subject { page } - it { should have_content(@merge_request.title) } + it { should have_content(@merge_request.title[0..10]) } it { should have_content(@merge_request.target_branch) } it { should have_content(@merge_request.source_branch) } it { should have_content(@merge_request.assignee.name) } @@ -40,17 +40,17 @@ describe "MergeRequests" do describe "Close merge request" do before { click_link "Close" } - it { should have_content(@merge_request.title) } + it { should have_content(@merge_request.title[0..10]) } it "Show page should inform user that merge request closed" do - within ".merge-request-show-holder h3" do - page.should have_content "Closed" + within ".merge-tabs" do + page.should have_content "Reopen" end end end end describe "GET /merge_requests/new" do - before do + before do visit new_project_merge_request_path(project) fill_in "merge_request_title", :with => "Merge Request Title" select "master", :from => "merge_request_source_branch" @@ -62,7 +62,7 @@ describe "MergeRequests" do it { current_path.should == project_merge_request_path(project, project.merge_requests.last) } it "should create merge request" do - page.should have_content "Open" + page.should have_content "Close" page.should have_content @user.name end end diff --git a/spec/requests/projects_spec.rb b/spec/requests/projects_spec.rb index 4800e8b8098..b0a52dcb3c1 100644 --- a/spec/requests/projects_spec.rb +++ b/spec/requests/projects_spec.rb @@ -46,7 +46,7 @@ describe "Projects" do fill_in 'Name', :with => 'NewProject' fill_in 'Code', :with => 'NPR' fill_in 'Path', :with => 'newproject' - expect { click_button "Create Project" }.to change { Project.count }.by(1) + expect { click_button "Save" }.to change { Project.count }.by(1) @project = Project.last end @@ -135,7 +135,7 @@ describe "Projects" do fill_in 'Name', :with => 'Awesome' fill_in 'Path', :with => 'legit' fill_in 'Description', :with => 'Awesome project' - click_button "Update Project" + click_button "Save" @project = @project.reload end diff --git a/spec/requests/snippets_spec.rb b/spec/requests/snippets_spec.rb index d4811958db3..f0531a0a108 100644 --- a/spec/requests/snippets_spec.rb +++ b/spec/requests/snippets_spec.rb @@ -19,7 +19,7 @@ describe "Snippets" do subject { page } - it { should have_content(@snippet.title) } + it { should have_content(@snippet.title[0..10]) } it { should have_content(@snippet.project.name) } it { should have_content(@snippet.author.name) } @@ -28,7 +28,7 @@ describe "Snippets" do # admin access to remove snippet @user.users_projects.destroy_all project.add_access(@user, :read, :write, :admin) - visit project_snippets_path(project) + visit edit_project_snippet_path(project, @snippet) end it "should remove entry" do @@ -72,8 +72,8 @@ describe "Snippets" do @snippet = Factory :snippet, :author => @user, :project => project - visit project_snippets_path(project) - click_link "Edit" + visit project_snippet_path(project, @snippet) + click_link "Edit Snippet" end it "should open edit page" do |