Merge branch 'rs-event-traits' into 'master'
Add traits for the different Event types to the Event factory See merge request !8870
This commit is contained in:
commit
785fadf33f
|
@ -3,6 +3,18 @@ FactoryGirl.define do
|
|||
project factory: :empty_project
|
||||
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
|
||||
action { Event::CLOSED }
|
||||
target factory: :closed_issue
|
||||
|
|
|
@ -10,15 +10,12 @@ describe ContributedProjectsFinder do
|
|||
let!(:private_project) { create(:empty_project, :private) }
|
||||
|
||||
before do
|
||||
private_project.team << [source_user, Gitlab::Access::MASTER]
|
||||
private_project.team << [current_user, Gitlab::Access::DEVELOPER]
|
||||
public_project.team << [source_user, Gitlab::Access::MASTER]
|
||||
private_project.add_master(source_user)
|
||||
private_project.add_developer(current_user)
|
||||
public_project.add_master(source_user)
|
||||
|
||||
create(:event, action: Event::PUSHED, project: public_project,
|
||||
target: public_project, author: source_user)
|
||||
|
||||
create(:event, action: Event::PUSHED, project: private_project,
|
||||
target: private_project, author: source_user)
|
||||
create(:event, :pushed, project: public_project, target: public_project, author: source_user)
|
||||
create(:event, :pushed, project: private_project, target: private_project, author: source_user)
|
||||
end
|
||||
|
||||
describe 'without a current user' do
|
||||
|
|
|
@ -5,15 +5,15 @@ describe EventFilter, lib: true do
|
|||
let(:source_user) { create(:user) }
|
||||
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!(:merged_event) { create(:event, action: 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!(:updated_event) { create(:event, action: 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!(:reopened_event) { create(:event, action: 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!(:joined_event) { create(:event, action: 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!(:push_event) { create(:event, :pushed, 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, :created, 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, :closed, 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, :commented, 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, :left, project: public_project, target: public_project, author: source_user) }
|
||||
|
||||
it 'applies push filter' do
|
||||
events = EventFilter.new(EventFilter.push).apply_filter(Event.all)
|
||||
|
|
|
@ -182,7 +182,7 @@ describe Gitlab::ImportExport::ProjectTreeSaver, services: true do
|
|||
project: project,
|
||||
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')
|
||||
|
||||
project.project_feature.update_attribute(:issues_access_level, ProjectFeature::DISABLED)
|
||||
|
|
|
@ -19,7 +19,7 @@ describe Event, models: true do
|
|||
let(:project) { create(:empty_project) }
|
||||
|
||||
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)
|
||||
end
|
||||
|
@ -43,33 +43,33 @@ describe Event, models: true do
|
|||
|
||||
describe '#membership_changed?' do
|
||||
context "created" do
|
||||
subject { build(:event, action: Event::CREATED).membership_changed? }
|
||||
subject { build(:event, :created).membership_changed? }
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context "updated" do
|
||||
subject { build(:event, action: Event::UPDATED).membership_changed? }
|
||||
subject { build(:event, :updated).membership_changed? }
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context "expired" do
|
||||
subject { build(:event, action: Event::EXPIRED).membership_changed? }
|
||||
subject { build(:event, :expired).membership_changed? }
|
||||
it { is_expected.to be_truthy }
|
||||
end
|
||||
|
||||
context "left" do
|
||||
subject { build(:event, action: Event::LEFT).membership_changed? }
|
||||
subject { build(:event, :left).membership_changed? }
|
||||
it { is_expected.to be_truthy }
|
||||
end
|
||||
|
||||
context "joined" do
|
||||
subject { build(:event, action: Event::JOINED).membership_changed? }
|
||||
subject { build(:event, :joined).membership_changed? }
|
||||
it { is_expected.to be_truthy }
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
let(:target) { create(:note_on_issue) }
|
||||
|
@ -97,7 +97,7 @@ describe Event, models: true do
|
|||
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_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
|
||||
project.team << [member, :developer]
|
||||
|
@ -221,13 +221,13 @@ describe Event, models: true do
|
|||
let!(:event2) { create(:closed_issue_event) }
|
||||
|
||||
describe 'without an explicit limit' do
|
||||
subject { Event.limit_recent }
|
||||
subject { described_class.limit_recent }
|
||||
|
||||
it { is_expected.to eq([event2, event1]) }
|
||||
end
|
||||
|
||||
describe 'with an explicit limit' do
|
||||
subject { Event.limit_recent(1) }
|
||||
subject { described_class.limit_recent(1) }
|
||||
|
||||
it { is_expected.to eq([event2]) }
|
||||
end
|
||||
|
@ -294,9 +294,9 @@ describe Event, models: true do
|
|||
}
|
||||
}
|
||||
|
||||
Event.create({
|
||||
described_class.create({
|
||||
project: project,
|
||||
action: Event::PUSHED,
|
||||
action: described_class::PUSHED,
|
||||
data: data,
|
||||
author_id: user.id
|
||||
}.merge!(attrs))
|
||||
|
|
|
@ -1013,8 +1013,8 @@ describe User, models: true do
|
|||
let!(:project2) { create(:empty_project, forked_from_project: project3) }
|
||||
let!(:project3) { create(:empty_project) }
|
||||
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!(:merge_event) { create(:event, action: Event::CREATED, project: project3, target: merge_request, author: subject) }
|
||||
let!(:push_event) { create(:event, :pushed, project: project1, target: project1, author: subject) }
|
||||
let!(:merge_event) { create(:event, :created, project: project3, target: merge_request, author: subject) }
|
||||
|
||||
before do
|
||||
project1.team << [subject, :master]
|
||||
|
@ -1058,7 +1058,7 @@ describe User, models: true do
|
|||
let!(:push_data) do
|
||||
Gitlab::DataBuilder::Push.build_sample(project2, subject)
|
||||
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
|
||||
project1.team << [subject, :master]
|
||||
|
@ -1086,7 +1086,7 @@ describe User, models: true do
|
|||
expect(subject.recent_push(project2)).to eq(push_event)
|
||||
|
||||
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
|
||||
end
|
||||
|
|
|
@ -35,7 +35,7 @@ module ExportFileHelper
|
|||
project: project,
|
||||
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(:ci_variable, project: project)
|
||||
create(:ci_trigger, project: project)
|
||||
|
|
Loading…
Reference in New Issue