From: Tomas Sedovic tsedovic@redhat.com
--- src/spec/models/provider_spec.rb | 57 ++++++++++++++++++++++++++++++++++--- 1 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/src/spec/models/provider_spec.rb b/src/spec/models/provider_spec.rb index c57eb7d..daca748 100644 --- a/src/spec/models/provider_spec.rb +++ b/src/spec/models/provider_spec.rb @@ -2,12 +2,59 @@ require 'spec_helper'
describe Provider do before(:each) do - @valid_attributes = { - } end
- it "should create a new instance given valid attributes" do - # pending - # Provider.create!(@valid_attributes) + it "should validate mock provider" do + provider = Factory(:mock_provider) + provider.should be_valid end + + it "should require a valid name" do + provider = Factory.create(:mock_provider) + [nil, ""].each do |invalid_value| + provider.name = invalid_value + provider.should_not be_valid + end + end + + it "should require a valid cloud_type" do + provider = Factory.create(:mock_provider) + [nil, ""].each do |invalid_value| + provider.cloud_type = invalid_value + provider.should_not be_valid + end + end + + it "should require a valid url" do + provider = Factory.create(:mock_provider) + [nil, ""].each do |invalid_value| + provider.url = invalid_value + provider.should_not be_valid + end + end + + it "should be able to connect to the specified framework" do + provider = Factory.create(:mock_provider) + deltacloud = provider.connect + provider.should be_valid + deltacloud.should_not be_nil + + provider.url = "http://totally.not/there" + deltacloud = provider.connect + provider.should have(1).error_on(:url) + provider.should_not be_valid + deltacloud.should be_nil + end + + + it "should require unique name" do + provider1 = Factory.create(:mock_provider) + provider2 = Factory.create(:mock_provider) + provider1.should be_valid + provider2.should be_valid + + provider2.name = provider1.name + provider2.should_not be_valid + end + end