2014-03-25 12:48:02 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
2017-07-10 14:24:02 +00:00
|
|
|
describe EventCreateService do
|
2016-11-25 16:10:25 +00:00
|
|
|
include UserActivitiesHelpers
|
|
|
|
|
2017-07-25 17:09:00 +00:00
|
|
|
let(:service) { described_class.new }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
|
|
|
describe 'Issues' do
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#open_issue' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:issue) { create(:issue) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.open_issue(issue, issue.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-11 15:30:18 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.open_issue(issue, issue.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#close_issue' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:issue) { create(:issue) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.close_issue(issue, issue.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-11 15:30:18 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.close_issue(issue, issue.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#reopen_issue' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:issue) { create(:issue) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.reopen_issue(issue, issue.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-11 15:30:18 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.reopen_issue(issue, issue.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'Merge Requests' do
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#open_mr' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:merge_request) { create(:merge_request) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.open_mr(merge_request, merge_request.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.open_mr(merge_request, merge_request.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#close_mr' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:merge_request) { create(:merge_request) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.close_mr(merge_request, merge_request.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.close_mr(merge_request, merge_request.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#merge_mr' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:merge_request) { create(:merge_request) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.merge_mr(merge_request, merge_request.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.merge_mr(merge_request, merge_request.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#reopen_mr' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:merge_request) { create(:merge_request) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.reopen_mr(merge_request, merge_request.author)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.reopen_mr(merge_request, merge_request.author) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'Milestone' do
|
|
|
|
let(:user) { create :user }
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#open_milestone' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:milestone) { create(:milestone) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.open_milestone(milestone, user)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.open_milestone(milestone, user) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#close_mr' do
|
2014-03-25 12:48:02 +00:00
|
|
|
let(:milestone) { create(:milestone) }
|
|
|
|
|
2015-02-12 18:17:35 +00:00
|
|
|
it { expect(service.close_milestone(milestone, user)).to be_truthy }
|
2014-03-25 12:48:02 +00:00
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2014-03-25 12:48:02 +00:00
|
|
|
expect { service.close_milestone(milestone, user) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
2015-08-31 04:51:34 +00:00
|
|
|
|
2016-07-11 22:12:31 +00:00
|
|
|
describe '#destroy_mr' do
|
2015-08-31 04:51:34 +00:00
|
|
|
let(:milestone) { create(:milestone) }
|
|
|
|
|
|
|
|
it { expect(service.destroy_milestone(milestone, user)).to be_truthy }
|
|
|
|
|
2016-08-01 15:00:44 +00:00
|
|
|
it "creates new event" do
|
2015-08-31 04:51:34 +00:00
|
|
|
expect { service.destroy_milestone(milestone, user) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
end
|
2014-03-25 12:48:02 +00:00
|
|
|
end
|
2016-10-06 15:19:27 +00:00
|
|
|
|
2017-07-11 03:35:47 +00:00
|
|
|
describe '#push', :clean_gitlab_redis_shared_state do
|
2016-11-25 16:10:25 +00:00
|
|
|
let(:project) { create(:empty_project) }
|
|
|
|
let(:user) { create(:user) }
|
|
|
|
|
|
|
|
it 'creates a new event' do
|
|
|
|
expect { service.push(project, user, {}) }.to change { Event.count }
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'updates user last activity' do
|
2017-03-07 18:34:43 +00:00
|
|
|
expect { service.push(project, user, {}) }.to change { user_activity(user) }
|
2016-11-25 16:10:25 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-10-06 15:19:27 +00:00
|
|
|
describe 'Project' do
|
|
|
|
let(:user) { create :user }
|
|
|
|
let(:project) { create(:empty_project) }
|
|
|
|
|
|
|
|
describe '#join_project' do
|
|
|
|
subject { service.join_project(project, user) }
|
|
|
|
|
|
|
|
it { is_expected.to be_truthy }
|
|
|
|
it { expect { subject }.to change { Event.count }.from(0).to(1) }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe '#expired_leave_project' do
|
|
|
|
subject { service.expired_leave_project(project, user) }
|
|
|
|
|
|
|
|
it { is_expected.to be_truthy }
|
|
|
|
it { expect { subject }.to change { Event.count }.from(0).to(1) }
|
|
|
|
end
|
|
|
|
end
|
2014-03-25 12:48:02 +00:00
|
|
|
end
|