gitlabhq/spec/models/protected_branch_spec.rb

52 lines
1.2 KiB
Ruby
Raw Normal View History

2012-10-09 10:14:17 +02:00
# == Schema Information
#
# Table name: protected_branches
#
# id :integer not null, primary key
# project_id :integer not null
# name :string(255) not null
# created_at :datetime not null
# updated_at :datetime not null
#
require 'spec_helper'
describe ProtectedBranch do
2012-05-11 00:43:12 +02:00
describe 'Associations' do
it { should belong_to(:project) }
end
describe "Mass assignment" do
it { should_not allow_mass_assignment_of(:project_id) }
end
2012-05-11 00:43:12 +02:00
describe 'Validation' do
2012-10-09 02:10:16 +02:00
it { should validate_presence_of(:project) }
2012-05-11 00:43:12 +02:00
it { should validate_presence_of(:name) }
end
describe 'Callbacks' do
let(:branch) { build(:protected_branch) }
2012-05-11 00:43:12 +02:00
it 'call update_repository after save' do
branch.should_receive(:update_repository)
branch.save
2012-05-11 00:43:12 +02:00
end
it 'call update_repository after destroy' do
branch.save
branch.should_receive(:update_repository)
branch.destroy
2012-05-11 00:43:12 +02:00
end
end
describe '#commit' do
let(:branch) { create(:protected_branch) }
2012-05-11 00:43:12 +02:00
it 'commits itself to its project' do
branch.project.should_receive(:commit).with(branch.name)
branch.commit
2012-05-11 00:43:12 +02:00
end
end
end