diff options
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/concerns/awardable_spec.rb | 18 | ||||
-rw-r--r-- | spec/models/concerns/cacheable_attributes_spec.rb | 4 | ||||
-rw-r--r-- | spec/models/concerns/issuable_spec.rb | 4 | ||||
-rw-r--r-- | spec/models/lfs_object_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/merge_request_spec.rb | 14 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 8 | ||||
-rw-r--r-- | spec/models/project_wiki_spec.rb | 4 | ||||
-rw-r--r-- | spec/models/upload_spec.rb | 2 |
8 files changed, 45 insertions, 11 deletions
diff --git a/spec/models/concerns/awardable_spec.rb b/spec/models/concerns/awardable_spec.rb index 69083bdc125..debc02fa51f 100644 --- a/spec/models/concerns/awardable_spec.rb +++ b/spec/models/concerns/awardable_spec.rb @@ -24,13 +24,29 @@ describe Awardable do end end - describe ".awarded" do + describe "#awarded" do it "filters by user and emoji name" do expect(Issue.awarded(award_emoji.user, "thumbsup")).to be_empty expect(Issue.awarded(award_emoji.user, "thumbsdown")).to eq [issue] expect(Issue.awarded(award_emoji2.user, "thumbsup")).to eq [issue2] expect(Issue.awarded(award_emoji2.user, "thumbsdown")).to be_empty end + + it "filters by user and any emoji" do + issue3 = create(:issue) + create(:award_emoji, awardable: issue3, name: "star", user: award_emoji.user) + create(:award_emoji, awardable: issue3, name: "star", user: award_emoji2.user) + + expect(Issue.awarded(award_emoji.user)).to eq [issue, issue3] + expect(Issue.awarded(award_emoji2.user)).to eq [issue2, issue3] + end + end + + describe "#not_awarded" do + it "returns issues not awarded by user" do + expect(Issue.not_awarded(award_emoji.user)).to eq [issue2] + expect(Issue.not_awarded(award_emoji2.user)).to eq [issue] + end end end diff --git a/spec/models/concerns/cacheable_attributes_spec.rb b/spec/models/concerns/cacheable_attributes_spec.rb index f8c2e29fadd..827fbc9d7d5 100644 --- a/spec/models/concerns/cacheable_attributes_spec.rb +++ b/spec/models/concerns/cacheable_attributes_spec.rb @@ -41,7 +41,7 @@ describe CacheableAttributes do expect(minimal_test_class.current_without_cache).to eq(minimal_test_class.last) end - it 'can be overriden' do + it 'can be overridden' do minimal_test_class.define_singleton_method(:current_without_cache) do first end @@ -64,7 +64,7 @@ describe CacheableAttributes do context 'with defaults defined' do include_context 'with defaults' - it 'can be overriden' do + it 'can be overridden' do expect(minimal_test_class.defaults).to eq({ foo: 'a', bar: 'b', baz: 'c' }) end end diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb index ec6374f3963..a4bf3e2350a 100644 --- a/spec/models/concerns/issuable_spec.rb +++ b/spec/models/concerns/issuable_spec.rb @@ -519,7 +519,7 @@ describe Issuable do end end - context 'substracting time' do + context 'subtracting time' do before do spend_time(1800) end @@ -530,7 +530,7 @@ describe Issuable do expect(issue.total_time_spent).to eq(900) end - context 'when time to substract exceeds the total time spent' do + context 'when time to subtract exceeds the total time spent' do it 'raise a validation error' do Timecop.travel(1.minute.from_now) do expect do diff --git a/spec/models/lfs_object_spec.rb b/spec/models/lfs_object_spec.rb index 911f85d7b28..3f929710862 100644 --- a/spec/models/lfs_object_spec.rb +++ b/spec/models/lfs_object_spec.rb @@ -8,7 +8,7 @@ describe LfsObject do expect(subject.local_store?).to eq true end - it 'returns false whe file_store is equal to LfsObjectUploader::Store::REMOTE' do + it 'returns false when file_store is equal to LfsObjectUploader::Store::REMOTE' do subject.file_store = LfsObjectUploader::Store::REMOTE expect(subject.local_store?).to eq false diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index c8943f2d86f..85a4ebac66c 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -13,6 +13,20 @@ describe MergeRequest do it { is_expected.to belong_to(:merge_user).class_name("User") } it { is_expected.to belong_to(:assignee) } it { is_expected.to have_many(:merge_request_diffs) } + + context 'for forks' do + let!(:project) { create(:project) } + let!(:fork) { fork_project(project) } + let!(:merge_request) { create(:merge_request, target_project: project, source_project: fork) } + + it 'does not load another project due to inverse relationship' do + expect(project.merge_requests.first.target_project.object_id).to eq(project.object_id) + end + + it 'finds the associated merge request' do + expect(project.merge_requests.find(merge_request.id)).to eq(merge_request) + end + end end describe '#squash_in_progress?' do diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index e66838edd1a..d4b9a4c8cd6 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -88,6 +88,10 @@ describe Project do it { is_expected.to have_many(:project_deploy_tokens) } it { is_expected.to have_many(:deploy_tokens).through(:project_deploy_tokens) } + it 'has an inverse relationship with merge requests' do + expect(described_class.reflect_on_association(:merge_requests).has_inverse?).to eq(:target_project) + end + context 'after initialized' do it "has a project_feature" do expect(described_class.new.project_feature).to be_present @@ -2746,7 +2750,7 @@ describe Project do .to raise_error(ActiveRecord::RecordNotSaved, error_message) end - it 'updates the project succesfully' do + it 'updates the project successfully' do merge_request = create(:merge_request, target_project: project, source_project: project) expect { project.append_or_update_attribute(:merge_requests, [merge_request]) } @@ -3314,7 +3318,7 @@ describe Project do end end - context 'when explicitely enabled' do + context 'when explicitly enabled' do context 'when domain is empty' do before do create(:project_auto_devops, project: project, domain: nil) diff --git a/spec/models/project_wiki_spec.rb b/spec/models/project_wiki_spec.rb index f38fc191943..cc5e34782ec 100644 --- a/spec/models/project_wiki_spec.rb +++ b/spec/models/project_wiki_spec.rb @@ -145,7 +145,7 @@ describe ProjectWiki do end it "returns nil if the page does not exist" do - expect(subject.find_page("non-existant")).to eq(nil) + expect(subject.find_page("non-existent")).to eq(nil) end it "can find a page by slug" do @@ -226,7 +226,7 @@ describe ProjectWiki do end it 'returns nil if the page does not exist' do - expect(subject.find_file('non-existant')).to eq(nil) + expect(subject.find_file('non-existent')).to eq(nil) end it 'returns a Gitlab::Git::WikiFile instance' do diff --git a/spec/models/upload_spec.rb b/spec/models/upload_spec.rb index 36b8e5d304f..3c89e99abf0 100644 --- a/spec/models/upload_spec.rb +++ b/spec/models/upload_spec.rb @@ -91,7 +91,7 @@ describe Upload do .to change { upload.checksum }.from(nil).to(expected) end - it 'sets `checksum` to nil for a non-existant file' do + it 'sets `checksum` to nil for a non-existent file' do expect(upload).to receive(:exist?).and_return(false) checksum = Digest::SHA256.file(__FILE__).hexdigest |