summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/features/dashboard_milestones_spec.rb29
-rw-r--r--spec/lib/ci/gitlab_ci_yaml_processor_spec.rb10
-rw-r--r--spec/services/issues/move_service_spec.rb21
3 files changed, 56 insertions, 4 deletions
diff --git a/spec/features/dashboard_milestones_spec.rb b/spec/features/dashboard_milestones_spec.rb
new file mode 100644
index 00000000000..f32fddbc9fa
--- /dev/null
+++ b/spec/features/dashboard_milestones_spec.rb
@@ -0,0 +1,29 @@
+require 'spec_helper'
+
+feature 'Dashboard > Milestones', feature: true do
+ describe 'as anonymous user' do
+ before do
+ visit dashboard_milestones_path
+ end
+
+ it 'is redirected to sign-in page' do
+ expect(current_path).to eq new_user_session_path
+ end
+ end
+
+ describe 'as logged-in user' do
+ let(:user) { create(:user) }
+ let(:project) { create(:empty_project, namespace: user.namespace) }
+ let!(:milestone) { create(:milestone, project: project) }
+ before do
+ project.team << [user, :master]
+ login_with(user)
+ visit dashboard_milestones_path
+ end
+
+ it 'sees milestones' do
+ expect(current_path).to eq dashboard_milestones_path
+ expect(page).to have_content(milestone.title)
+ end
+ end
+end
diff --git a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
index b79b8147ce0..dcb8a3451bd 100644
--- a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
+++ b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
@@ -492,19 +492,25 @@ module Ci
end
context 'dependencies to builds' do
+ let(:dependencies) { ['build1', 'build2'] }
+
+ it { expect { subject }.to_not raise_error }
+ end
+
+ context 'dependencies to builds defined as symbols' do
let(:dependencies) { [:build1, :build2] }
it { expect { subject }.to_not raise_error }
end
context 'undefined dependency' do
- let(:dependencies) { [:undefined] }
+ let(:dependencies) { ['undefined'] }
it { expect { subject }.to raise_error(GitlabCiYamlProcessor::ValidationError, 'test1 job: undefined dependency: undefined') }
end
context 'dependencies to deploy' do
- let(:dependencies) { [:deploy] }
+ let(:dependencies) { ['deploy'] }
it { expect { subject }.to raise_error(GitlabCiYamlProcessor::ValidationError, 'test1 job: dependency deploy is not defined in prior stages') }
end
diff --git a/spec/services/issues/move_service_spec.rb b/spec/services/issues/move_service_spec.rb
index ade3b7850f1..9b0c73aaf37 100644
--- a/spec/services/issues/move_service_spec.rb
+++ b/spec/services/issues/move_service_spec.rb
@@ -85,6 +85,10 @@ describe Issues::MoveService, services: true do
expect(old_issue.moved?).to eq true
expect(old_issue.moved_to).to eq new_issue
end
+
+ it 'preserves create time' do
+ expect(old_issue.created_at).to eq new_issue.created_at
+ end
end
context 'issue with notes' do
@@ -121,10 +125,23 @@ describe Issues::MoveService, services: true do
it 'preserves orignal author of comment' do
expect(user_notes.pluck(:author_id)).to all(eq(author.id))
end
+ end
+
+ context 'note that has been updated' do
+ let!(:note) do
+ create(:note, noteable: old_issue, project: old_project,
+ author: author, updated_at: Date.yesterday,
+ created_at: Date.yesterday)
+ end
+
+ include_context 'issue move executed'
it 'preserves time when note has been created at' do
- expect(old_issue.notes.first.created_at)
- .to eq new_issue.notes.first.created_at
+ expect(new_issue.notes.first.created_at).to eq note.created_at
+ end
+
+ it 'preserves time when note has been updated at' do
+ expect(new_issue.notes.first.updated_at).to eq note.updated_at
end
end