提交 e48a1755 编写于 作者: R Robert Speicher

Add traits for the different Event types to the Event factory

上级 b525aff6
...@@ -3,6 +3,18 @@ FactoryGirl.define do ...@@ -3,6 +3,18 @@ FactoryGirl.define do
project factory: :empty_project project factory: :empty_project
author factory: :user author factory: :user
trait(:created) { action Event::CREATED }
trait(:updated) { action Event::UPDATED }
trait(:closed) { action Event::CLOSED }
trait(:reopened) { action Event::REOPENED }
trait(:pushed) { action Event::PUSHED }
trait(:commented) { action Event::COMMENTED }
trait(:merged) { action Event::MERGED }
trait(:joined) { action Event::JOINED }
trait(:left) { action Event::LEFT }
trait(:destroyed) { action Event::DESTROYED }
trait(:expired) { action Event::EXPIRED }
factory :closed_issue_event do factory :closed_issue_event do
action { Event::CLOSED } action { Event::CLOSED }
target factory: :closed_issue target factory: :closed_issue
......
...@@ -10,15 +10,12 @@ describe ContributedProjectsFinder do ...@@ -10,15 +10,12 @@ describe ContributedProjectsFinder do
let!(:private_project) { create(:empty_project, :private) } let!(:private_project) { create(:empty_project, :private) }
before do before do
private_project.team << [source_user, Gitlab::Access::MASTER] private_project.add_master(source_user)
private_project.team << [current_user, Gitlab::Access::DEVELOPER] private_project.add_developer(current_user)
public_project.team << [source_user, Gitlab::Access::MASTER] public_project.add_master(source_user)
create(:event, action: Event::PUSHED, project: public_project, create(:event, :pushed, project: public_project, target: public_project, author: source_user)
target: public_project, author: source_user) create(:event, :pushed, project: private_project, target: private_project, author: source_user)
create(:event, action: Event::PUSHED, project: private_project,
target: private_project, author: source_user)
end end
describe 'without a current user' do describe 'without a current user' do
......
...@@ -5,15 +5,15 @@ describe EventFilter, lib: true do ...@@ -5,15 +5,15 @@ describe EventFilter, lib: true do
let(:source_user) { create(:user) } let(:source_user) { create(:user) }
let!(:public_project) { create(:empty_project, :public) } let!(:public_project) { create(:empty_project, :public) }
let!(:push_event) { create(:event, action: Event::PUSHED, project: public_project, target: public_project, author: source_user) } let!(:push_event) { create(:event, :pushed, project: public_project, target: public_project, author: source_user) }
let!(:merged_event) { create(:event, action: Event::MERGED, project: public_project, target: public_project, author: source_user) } let!(:merged_event) { create(:event, :merged, project: public_project, target: public_project, author: source_user) }
let!(:created_event) { create(:event, action: Event::CREATED, project: public_project, target: public_project, author: source_user) } let!(:created_event) { create(:event, :created, project: public_project, target: public_project, author: source_user) }
let!(:updated_event) { create(:event, action: Event::UPDATED, project: public_project, target: public_project, author: source_user) } let!(:updated_event) { create(:event, :updated, project: public_project, target: public_project, author: source_user) }
let!(:closed_event) { create(:event, action: Event::CLOSED, project: public_project, target: public_project, author: source_user) } let!(:closed_event) { create(:event, :closed, project: public_project, target: public_project, author: source_user) }
let!(:reopened_event) { create(:event, action: Event::REOPENED, project: public_project, target: public_project, author: source_user) } let!(:reopened_event) { create(:event, :reopened, project: public_project, target: public_project, author: source_user) }
let!(:comments_event) { create(:event, action: Event::COMMENTED, project: public_project, target: public_project, author: source_user) } let!(:comments_event) { create(:event, :commented, project: public_project, target: public_project, author: source_user) }
let!(:joined_event) { create(:event, action: Event::JOINED, project: public_project, target: public_project, author: source_user) } let!(:joined_event) { create(:event, :joined, project: public_project, target: public_project, author: source_user) }
let!(:left_event) { create(:event, action: Event::LEFT, project: public_project, target: public_project, author: source_user) } let!(:left_event) { create(:event, :left, project: public_project, target: public_project, author: source_user) }
it 'applies push filter' do it 'applies push filter' do
events = EventFilter.new(EventFilter.push).apply_filter(Event.all) events = EventFilter.new(EventFilter.push).apply_filter(Event.all)
......
...@@ -182,7 +182,7 @@ describe Gitlab::ImportExport::ProjectTreeSaver, services: true do ...@@ -182,7 +182,7 @@ describe Gitlab::ImportExport::ProjectTreeSaver, services: true do
project: project, project: project,
commit_id: ci_pipeline.sha) commit_id: ci_pipeline.sha)
create(:event, target: milestone, project: project, action: Event::CREATED, author: user) create(:event, :created, target: milestone, project: project, author: user)
create(:service, project: project, type: 'CustomIssueTrackerService', category: 'issue_tracker') create(:service, project: project, type: 'CustomIssueTrackerService', category: 'issue_tracker')
project.project_feature.update_attribute(:issues_access_level, ProjectFeature::DISABLED) project.project_feature.update_attribute(:issues_access_level, ProjectFeature::DISABLED)
......
...@@ -19,7 +19,7 @@ describe Event, models: true do ...@@ -19,7 +19,7 @@ describe Event, models: true do
let(:project) { create(:empty_project) } let(:project) { create(:empty_project) }
it 'calls the reset_project_activity method' do it 'calls the reset_project_activity method' do
expect_any_instance_of(Event).to receive(:reset_project_activity) expect_any_instance_of(described_class).to receive(:reset_project_activity)
create_event(project, project.owner) create_event(project, project.owner)
end end
...@@ -43,33 +43,33 @@ describe Event, models: true do ...@@ -43,33 +43,33 @@ describe Event, models: true do
describe '#membership_changed?' do describe '#membership_changed?' do
context "created" do context "created" do
subject { build(:event, action: Event::CREATED).membership_changed? } subject { build(:event, :created).membership_changed? }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
context "updated" do context "updated" do
subject { build(:event, action: Event::UPDATED).membership_changed? } subject { build(:event, :updated).membership_changed? }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
context "expired" do context "expired" do
subject { build(:event, action: Event::EXPIRED).membership_changed? } subject { build(:event, :expired).membership_changed? }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
context "left" do context "left" do
subject { build(:event, action: Event::LEFT).membership_changed? } subject { build(:event, :left).membership_changed? }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
context "joined" do context "joined" do
subject { build(:event, action: Event::JOINED).membership_changed? } subject { build(:event, :joined).membership_changed? }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
end end
describe '#note?' do describe '#note?' do
subject { Event.new(project: target.project, target: target) } subject { described_class.new(project: target.project, target: target) }
context 'issue note event' do context 'issue note event' do
let(:target) { create(:note_on_issue) } let(:target) { create(:note_on_issue) }
...@@ -97,7 +97,7 @@ describe Event, models: true do ...@@ -97,7 +97,7 @@ describe Event, models: true do
let(:note_on_commit) { create(:note_on_commit, project: project) } let(:note_on_commit) { create(:note_on_commit, project: project) }
let(:note_on_issue) { create(:note_on_issue, noteable: issue, project: project) } let(:note_on_issue) { create(:note_on_issue, noteable: issue, project: project) }
let(:note_on_confidential_issue) { create(:note_on_issue, noteable: confidential_issue, project: project) } let(:note_on_confidential_issue) { create(:note_on_issue, noteable: confidential_issue, project: project) }
let(:event) { Event.new(project: project, target: target, author_id: author.id) } let(:event) { described_class.new(project: project, target: target, author_id: author.id) }
before do before do
project.team << [member, :developer] project.team << [member, :developer]
...@@ -221,13 +221,13 @@ describe Event, models: true do ...@@ -221,13 +221,13 @@ describe Event, models: true do
let!(:event2) { create(:closed_issue_event) } let!(:event2) { create(:closed_issue_event) }
describe 'without an explicit limit' do describe 'without an explicit limit' do
subject { Event.limit_recent } subject { described_class.limit_recent }
it { is_expected.to eq([event2, event1]) } it { is_expected.to eq([event2, event1]) }
end end
describe 'with an explicit limit' do describe 'with an explicit limit' do
subject { Event.limit_recent(1) } subject { described_class.limit_recent(1) }
it { is_expected.to eq([event2]) } it { is_expected.to eq([event2]) }
end end
...@@ -294,9 +294,9 @@ describe Event, models: true do ...@@ -294,9 +294,9 @@ describe Event, models: true do
} }
} }
Event.create({ described_class.create({
project: project, project: project,
action: Event::PUSHED, action: described_class::PUSHED,
data: data, data: data,
author_id: user.id author_id: user.id
}.merge!(attrs)) }.merge!(attrs))
......
...@@ -1013,8 +1013,8 @@ describe User, models: true do ...@@ -1013,8 +1013,8 @@ describe User, models: true do
let!(:project2) { create(:empty_project, forked_from_project: project3) } let!(:project2) { create(:empty_project, forked_from_project: project3) }
let!(:project3) { create(:empty_project) } let!(:project3) { create(:empty_project) }
let!(:merge_request) { create(:merge_request, source_project: project2, target_project: project3, author: subject) } let!(:merge_request) { create(:merge_request, source_project: project2, target_project: project3, author: subject) }
let!(:push_event) { create(:event, action: Event::PUSHED, project: project1, target: project1, author: subject) } let!(:push_event) { create(:event, :pushed, project: project1, target: project1, author: subject) }
let!(:merge_event) { create(:event, action: Event::CREATED, project: project3, target: merge_request, author: subject) } let!(:merge_event) { create(:event, :created, project: project3, target: merge_request, author: subject) }
before do before do
project1.team << [subject, :master] project1.team << [subject, :master]
...@@ -1058,7 +1058,7 @@ describe User, models: true do ...@@ -1058,7 +1058,7 @@ describe User, models: true do
let!(:push_data) do let!(:push_data) do
Gitlab::DataBuilder::Push.build_sample(project2, subject) Gitlab::DataBuilder::Push.build_sample(project2, subject)
end end
let!(:push_event) { create(:event, action: Event::PUSHED, project: project2, target: project1, author: subject, data: push_data) } let!(:push_event) { create(:event, :pushed, project: project2, target: project1, author: subject, data: push_data) }
before do before do
project1.team << [subject, :master] project1.team << [subject, :master]
...@@ -1086,7 +1086,7 @@ describe User, models: true do ...@@ -1086,7 +1086,7 @@ describe User, models: true do
expect(subject.recent_push(project2)).to eq(push_event) expect(subject.recent_push(project2)).to eq(push_event)
push_data1 = Gitlab::DataBuilder::Push.build_sample(project1, subject) push_data1 = Gitlab::DataBuilder::Push.build_sample(project1, subject)
push_event1 = create(:event, action: Event::PUSHED, project: project1, target: project1, author: subject, data: push_data1) push_event1 = create(:event, :pushed, project: project1, target: project1, author: subject, data: push_data1)
expect(subject.recent_push([project1, project2])).to eq(push_event1) # Newest expect(subject.recent_push([project1, project2])).to eq(push_event1) # Newest
end end
......
...@@ -35,7 +35,7 @@ module ExportFileHelper ...@@ -35,7 +35,7 @@ module ExportFileHelper
project: project, project: project,
commit_id: ci_pipeline.sha) commit_id: ci_pipeline.sha)
create(:event, target: milestone, project: project, action: Event::CREATED, author: user) create(:event, :created, target: milestone, project: project, author: user)
create(:project_member, :master, user: user, project: project) create(:project_member, :master, user: user, project: project)
create(:ci_variable, project: project) create(:ci_variable, project: project)
create(:ci_trigger, project: project) create(:ci_trigger, project: project)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册