summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/factories.rb1
-rw-r--r--spec/models/issue_spec.rb1
-rw-r--r--spec/models/merge_request_spec.rb16
-rw-r--r--spec/models/project_spec.rb19
-rw-r--r--spec/models/user_spec.rb2
-rw-r--r--spec/models/users_project_spec.rb15
-rw-r--r--spec/requests/dashboard_issues_spec.rb57
-rw-r--r--spec/requests/dashboard_merge_requests_spec.rb47
-rw-r--r--spec/requests/dashboard_spec.rb6
-rw-r--r--spec/requests/issues_spec.rb7
-rw-r--r--spec/requests/keys_spec.rb15
-rw-r--r--spec/requests/merge_requests_spec.rb14
-rw-r--r--spec/requests/projects_spec.rb4
-rw-r--r--spec/requests/snippets_spec.rb8
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