spec/link_spec.rb in caren-api-0.9.8 vs spec/link_spec.rb in caren-api-0.9.9
- old
+ new
@@ -21,21 +21,25 @@
before do
link = File.read("spec/fixtures/caren_link.xml")
links = File.read("spec/fixtures/caren_links.xml")
search = File.read("spec/fixtures/caren_links_search.xml")
+ cancelled_link = File.read("spec/fixtures/caren_cancelled_link.xml")
link_url = Caren::Api.session.url_for(Caren::Link.resource_url(1))
links_url = Caren::Api.session.url_for(Caren::Link.resource_url)
search_url = Caren::Api.session.url_for("#{Caren::Link.resource_url}?key=external-id&value=1")
+ cancel_url = Caren::Api.session.url_for("#{Caren::Link.cancel_url(1)}")
+
timestamp = DateTime.now.to_i
FakeWeb.register_uri(:get, link_url, :body => link, :timestamp => timestamp, :signature => Caren::Api.session.sign(timestamp,nil,link) )
FakeWeb.register_uri(:get, links_url, :body => links, :timestamp => timestamp, :signature => Caren::Api.session.sign(timestamp,nil,links) )
FakeWeb.register_uri(:get, search_url, :body => search, :timestamp => timestamp, :signature => Caren::Api.session.sign(timestamp,nil,search) )
FakeWeb.register_uri(:post, links_url, :status => 201, :timestamp => timestamp, :signature => Caren::Api.session.sign(timestamp) )
+ FakeWeb.register_uri(:put, cancel_url, :body => cancelled_link, :status => 204, :timestamp => timestamp, :signature => Caren::Api.session.sign(timestamp,nil,cancelled_link) )
end
it "should be able to create a new link using the API" do
lambda{ Caren::Link.new( :patient_number => "12345" ).create(Caren::Api.session) }.should_not raise_error
end
@@ -56,8 +60,14 @@
end
it "should be find a specific link using the API" do
links = Caren::Link.search(:external_id, 1, Caren::Api.session)
links.should have(1).thing
+ end
+
+ it "should be able to cancel a specific link using the API" do
+ links = Caren::Link.search(:external_id, 1, Caren::Api.session)
+ link = links.first.cancel(Caren::Api.session)
+ link.status.should == "cancelled"
end
end