require File.expand_path("../../../spec_helper", __FILE__) describe Instagram::Client do Instagram::Configuration::VALID_FORMATS.each do |format| context ".new(:format => '#{format}')" do before do @client = Instagram::Client.new(format: format, client_id: "CID", client_secret: "CS", access_token: "AT") end describe ".media_comments" do before do stub_get("media/777/comments.#{format}") .with(query: { access_token: @client.access_token }) .to_return(body: fixture("media_comments.#{format}"), headers: { content_type: "application/#{format}; charset=utf-8" }) end it "should get the correct resource" do @client.media_comments(777) expect(a_get("media/777/comments.#{format}") .with(query: { access_token: @client.access_token })) .to have_been_made end it "should return an array of user search results" do comments = @client.media_comments(777) expect(comments).to be_a Array expect(comments.first.text).to eq("Vet visit") end end describe ".create_media_comment" do before do stub_post("media/777/comments.#{format}") .with(body: { text: "hi there", access_token: @client.access_token }) .to_return(body: fixture("media_comment.#{format}"), headers: { content_type: "application/#{format}; charset=utf-8" }) end it "should get the correct resource" do @client.create_media_comment(777, "hi there") expect(a_post("media/777/comments.#{format}") .with(body: { text: "hi there", access_token: @client.access_token })) .to have_been_made end it "should return the new comment when successful" do comment = @client.create_media_comment(777, "hi there") expect(comment.text).to eq("hi there") end end describe ".delete_media_comment" do before do stub_delete("media/777/comments/1234.#{format}") .with(query: { access_token: @client.access_token }) .to_return(body: fixture("media_comment_deleted.#{format}"), headers: { content_type: "application/#{format}; charset=utf-8" }) end it "should get the correct resource" do @client.delete_media_comment(777, 1234) expect(a_delete("media/777/comments/1234.#{format}") .with(query: { access_token: @client.access_token })) .to have_been_made end end end end end