Skip to content

Commit

Permalink
Test revision fetching
Browse files Browse the repository at this point in the history
  • Loading branch information
Undo1 committed May 14, 2017
1 parent 6537097 commit 015fad7
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 3 deletions.
54 changes: 51 additions & 3 deletions test/integration/flagging_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,47 @@ def setup
site_setting.sites = Site.mains
site_setting.save!

# Webmock setup
# Pick a couple of random main sites

webmock_file = "#{Rails.root}/test/integration/webmock_json_responses/mod_sites_response.json"
@site = Site.mains.where(max_flags_per_post: 3).order("RAND()").last
@limited_site = Site.mains.where(max_flags_per_post: 1).order("RAND()").last

# Post setup

@stack_id = 1234
@multi_rev_stack_id = 4321

@post = Post.new({
link: "//#{@site.site_domain}/questions/#{@stack_id}",
site: @site
})

@multi_rev_post = Post.new({
link: "//#{@site.site_domain}/questions/#{@multi_rev_stack_id}",
site: @site
})

@limited_post = Post.new({
link: "//#{@limited_site.site_domain}/questions/#{@stack_id}",
site: @limited_site
})

setup_webmock
end

def setup_webmock
stub_request(:get, /https:\/\/api.stackexchange.com\/2\.2\/me\/associated/).
to_return(:status => 200, :body => File.open(webmock_file).read(), :headers => {})
to_return(:status => 200, :body => webmock_file("mod_sites_response"), :headers => {})

@single_rev_stub = stub_request(:get, /https:\/\/api.stackexchange.com\/2\.2\/posts\/#{@stack_id}\/revisions/).
to_return(status: 200, body: webmock_file("single_revision_response"), headers: {})

@multi_rev_stub = stub_request(:get, /https:\/\/api.stackexchange.com\/2\.2\/posts\/#{@multi_rev_stack_id}\/revisions/).
to_return(status: 200, body: webmock_file("multi_revision_response"), headers: {})
end

def webmock_file(name)
File.open("#{Rails.root}/test/integration/webmock_json_responses/#{name}.json").read()
end

test "should update moderator sites" do
Expand Down Expand Up @@ -51,4 +87,16 @@ def setup
@user.spam_flag(Post.new)
end
end

test "should set revision count" do
@post.get_revision_count

assert_requested @single_rev_stub
assert_equal @post.revision_count, 1

@multi_rev_post.get_revision_count

assert_requested @multi_rev_stub
assert_operator @multi_rev_post.revision_count, :>, 1
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"items":[
{
"revision_guid":"D9E981E4-6C4C-4E8A-831C-07159640F7FC"
},
{
"revision_guid":"5A9DC34B-3257-4557-9416-63F9F92F9350"
},
{
"revision_guid":"19511D89-9B4C-47BE-BCCA-39422E7511F8"
}
],
"has_more":false,
"quota_max":300,
"quota_remaining":285
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"items":[
{
"revision_guid":"49E558BD-957C-41AE-A8FA-93A93066BD3F"
}
],
"has_more":false,
"quota_max":300,
"quota_remaining":295
}

0 comments on commit 015fad7

Please sign in to comment.