diff options
author | Rémy Coutable <remy@rymai.me> | 2016-04-21 18:13:14 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-04-25 22:28:24 +0300 |
commit | ef340f6e777875e1bbb38752e64ba7bea3ab2f31 (patch) | |
tree | 7a190b13b4128ba086224023253e53f605e9b10d /spec/models/project_services/campfire_service_spec.rb | |
parent | b79c5c40e18086f10b849d069bc1c496a851cbae (diff) |
Ensure URL in all Service subclasses are valid
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/models/project_services/campfire_service_spec.rb')
-rw-r--r-- | spec/models/project_services/campfire_service_spec.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/models/project_services/campfire_service_spec.rb b/spec/models/project_services/campfire_service_spec.rb new file mode 100644 index 00000000000..3e6da42803b --- /dev/null +++ b/spec/models/project_services/campfire_service_spec.rb @@ -0,0 +1,42 @@ +# == Schema Information +# +# Table name: services +# +# id :integer not null, primary key +# type :string(255) +# title :string(255) +# project_id :integer +# created_at :datetime +# updated_at :datetime +# active :boolean default(FALSE), not null +# properties :text +# template :boolean default(FALSE) +# push_events :boolean default(TRUE) +# issues_events :boolean default(TRUE) +# merge_requests_events :boolean default(TRUE) +# tag_push_events :boolean default(TRUE) +# note_events :boolean default(TRUE), not null +# + +require 'spec_helper' + +describe CampfireService, models: true do + describe 'Associations' do + it { is_expected.to belong_to :project } + it { is_expected.to have_one :service_hook } + end + + describe 'Validations' do + context 'when service is active' do + before { subject.active = true } + + it { is_expected.to validate_presence_of(:token) } + end + + context 'when service is inactive' do + before { subject.active = false } + + it { is_expected.not_to validate_presence_of(:token) } + end + end +end |