Sha256: fbbeeb843b723697dcde03833ebc78c06ea18ac22e28a3c8ec0f54ed6ae33be2
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
shared_examples "a resource" do |_collection, _params, _update_params| let(:collection) { client.send(_collection) } let(:params) { instance_exec(&_params) || {} } let(:update_params) { instance_exec(&_update_params) } it "by creating a record" do record = collection.create(params) record.identity.should_not be_nil end context "that is paged" do before(:each) do 2.times.each { collection.create(instance_exec(&_params)) } end it "by retrieving the first page" do collection.all("per_page" => "1").size.should == 1 end it "by retrieving the next page" do first_page = collection.all("per_page" => 1) second_page = collection.all("per_page" => 1).next_page second_page.should_not == first_page end it "by retrieving the previous page" do first_page = collection.all("per_page" => "1") previous_to_second_page = collection.all("per_page" => 1).next_page.previous_page previous_to_second_page.should == first_page end end it "by fetching a specific record" do record = collection.create(params) collection.get(record.identity).should == record end it "by updating a record" do record = collection.create(params) record.merge_attributes(update_params) record.save update_params.each {|k,v| record.send(k).should == v} end it "by destroy a record" do record = collection.create(params) record.identity.should_not be_nil record.destroy record.should be_destroyed end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zendesk2-0.0.5 | spec/shared/resource.rb |