require 'spec_helper' describe TumblrWrapper::Post do let(:token) { mock(:token) } subject(:post) { TumblrWrapper::Post.new('myblog.tumblr.com') } it "is a blog resource" do TumblrWrapper::Post.superclass.should == TumblrWrapper::BlogResource end describe "create" do it "makes an oauth request with parameters" do post.should_receive(:oauth_request).with('post', :post, {:type => 'text'}) post.create({:type => 'text'}) end it "raises unless type is specified" do lambda do post.create end.should raise_error(TumblrWrapper::MissingRequiredParameter) end it "raises if id is sent" do lambda do post.create({type: 'text', id: '1234'}) end.should raise_error(TumblrWrapper::InvalidParameter) end end describe "update" do it "makes an oauth request with parameters" do post.should_receive(:oauth_request).with('post/edit', :post, {:id => '1234'}) post.update({:id => '1234'}) end it "raises unless id is specified" do lambda do post.update end.should raise_error(TumblrWrapper::MissingRequiredParameter) end end describe "delete" do it "makes an oauth request with parameters" do post.should_receive(:oauth_request).with('post/delete', :post, {:id => '1234'}) post.delete({:id => '1234'}) end it "raises unless id is specified" do lambda do post.delete end.should raise_error(TumblrWrapper::MissingRequiredParameter) end end end