2011-11-28 08:39:43 +01:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe MergeRequest do
|
2011-11-28 22:24:08 +01:00
|
|
|
describe "Associations" do
|
|
|
|
it { should belong_to(:project) }
|
|
|
|
it { should belong_to(:author) }
|
|
|
|
it { should belong_to(:assignee) }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "Validation" do
|
|
|
|
it { should validate_presence_of(:target_branch) }
|
|
|
|
it { should validate_presence_of(:source_branch) }
|
|
|
|
it { should validate_presence_of(:title) }
|
|
|
|
it { should validate_presence_of(:author_id) }
|
|
|
|
it { should validate_presence_of(:project_id) }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "Scope" do
|
|
|
|
it { MergeRequest.should respond_to :closed }
|
|
|
|
it { MergeRequest.should respond_to :opened }
|
|
|
|
end
|
|
|
|
|
2012-03-14 23:51:03 +01:00
|
|
|
describe "plus 1" do
|
2012-08-28 13:01:27 +02:00
|
|
|
subject { Factory.create(:merge_request) }
|
2012-03-14 23:51:03 +01:00
|
|
|
|
|
|
|
it "with no notes has a 0/0 score" do
|
|
|
|
subject.upvotes.should == 0
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should recognize non-+1 notes" do
|
2012-08-28 13:01:27 +02:00
|
|
|
subject.notes << Factory(:note, note: "No +1 here")
|
2012-03-14 23:51:03 +01:00
|
|
|
subject.should have(1).note
|
|
|
|
subject.notes.first.upvote?.should be_false
|
|
|
|
subject.upvotes.should == 0
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should recognize a single +1 note" do
|
2012-08-28 13:01:27 +02:00
|
|
|
subject.notes << Factory(:note, note: "+1 This is awesome")
|
2012-03-14 23:51:03 +01:00
|
|
|
subject.upvotes.should == 1
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should recognize a multiple +1 notes" do
|
2012-08-28 13:01:27 +02:00
|
|
|
subject.notes << Factory(:note, note: "+1 This is awesome")
|
|
|
|
subject.notes << Factory(:note, note: "+1 I want this")
|
2012-03-14 23:51:03 +01:00
|
|
|
subject.upvotes.should == 2
|
|
|
|
end
|
|
|
|
end
|
2012-08-09 19:45:12 +02:00
|
|
|
|
|
|
|
describe ".search" do
|
2012-08-28 13:01:27 +02:00
|
|
|
let!(:issue) { Factory.create(:issue, title: "Searchable issue") }
|
2012-08-09 19:45:12 +02:00
|
|
|
|
|
|
|
it "matches by title" do
|
|
|
|
Issue.search('able').all.should == [issue]
|
|
|
|
end
|
|
|
|
end
|
2011-11-28 08:39:43 +01:00
|
|
|
end
|
2011-12-18 15:09:16 +01:00
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: merge_requests
|
|
|
|
#
|
2012-06-26 20:23:09 +02:00
|
|
|
# id :integer(4) not null, primary key
|
2011-12-18 15:09:16 +01:00
|
|
|
# target_branch :string(255) not null
|
|
|
|
# source_branch :string(255) not null
|
2012-06-26 20:23:09 +02:00
|
|
|
# project_id :integer(4) not null
|
|
|
|
# author_id :integer(4)
|
|
|
|
# assignee_id :integer(4)
|
2011-12-18 15:09:16 +01:00
|
|
|
# title :string(255)
|
2012-06-26 20:23:09 +02:00
|
|
|
# closed :boolean(1) default(FALSE), not null
|
|
|
|
# created_at :datetime not null
|
|
|
|
# updated_at :datetime not null
|
|
|
|
# st_commits :text(2147483647
|
|
|
|
# st_diffs :text(2147483647
|
|
|
|
# merged :boolean(1) default(FALSE), not null
|
|
|
|
# state :integer(4) default(1), not null
|
2011-12-18 15:09:16 +01:00
|
|
|
#
|
|
|
|
|