From: Tomas Sedovic <[email protected]>

---
 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
-- 
1.6.6.1

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to