spec/lib/shamu/services/result_spec.rb in shamu-0.0.9 vs spec/lib/shamu/services/result_spec.rb in shamu-0.0.11
- old
+ new
@@ -32,6 +32,42 @@
it "doesn't set entity if not found" do
result = Shamu::Services::Result.new
expect( result.entity ).to be_nil
end
-end
\ No newline at end of file
+
+ describe "#value!" do
+ it "raises an error if not valid" do
+ result = Shamu::Services::Result.new
+ result.errors.add :base, :whatever
+
+ expect do
+ result.value!
+ end.to raise_error Shamu::Services::ServiceRequestFailedError
+ end
+
+ it "returns #value if valid" do
+ result = Shamu::Services::Result.new :one
+
+ expect( result.value! ).to eq :one
+ end
+ end
+
+ describe "#entity!" do
+ it "raises an error if not valid" do
+ entity = Shamu::Entities::Entity.new
+ result = Shamu::Services::Result.new entity
+ result.errors.add :base, :whatever
+
+ expect do
+ result.entity!
+ end.to raise_error Shamu::Services::ServiceRequestFailedError
+ end
+
+ it "returns #entity if valid" do
+ entity = Shamu::Entities::Entity.new
+ result = Shamu::Services::Result.new entity
+
+ expect( result.entity! ).to be entity
+ end
+ end
+end