mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 11:11:13 +08:00
FEATURE: Onebox for news.ycombinator.com (#15781)
This commit is contained in:

committed by
GitHub

parent
ea37b30ab2
commit
5b5cbbfe5c
57
spec/lib/onebox/engine/hackernews_spec.rb
Normal file
57
spec/lib/onebox/engine/hackernews_spec.rb
Normal file
@ -0,0 +1,57 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "rails_helper"
|
||||
|
||||
describe Onebox::Engine::HackernewsOnebox do
|
||||
context "When oneboxing a comment" do
|
||||
let(:link) { "https://news.ycombinator.com/item?id=30181167" }
|
||||
let(:api_link) { "https://hacker-news.firebaseio.com/v0/item/30181167.json" }
|
||||
let(:html) { described_class.new(link).to_html }
|
||||
|
||||
before do
|
||||
stub_request(:get, api_link).to_return(status: 200, body: onebox_response("hackernews_comment"))
|
||||
end
|
||||
|
||||
it "has the comments first words" do
|
||||
expect(html).to include("Completely, forums are about basic human expression in paragraph form.")
|
||||
end
|
||||
|
||||
it "has author username" do
|
||||
expect(html).to include("codinghorror")
|
||||
end
|
||||
|
||||
it "has the permalink to the comic" do
|
||||
expect(html).to include(link)
|
||||
end
|
||||
|
||||
it "has the item date" do
|
||||
expect(html).to include("2013")
|
||||
end
|
||||
end
|
||||
|
||||
context "When oneboxing a story" do
|
||||
let(:link) { "https://news.ycombinator.com/item?id=5172905" }
|
||||
let(:api_link) { "https://hacker-news.firebaseio.com/v0/item/5172905.json" }
|
||||
let(:html) { described_class.new(link).to_html }
|
||||
|
||||
before do
|
||||
stub_request(:get, api_link).to_return(status: 200, body: onebox_response("hackernews_story"))
|
||||
end
|
||||
|
||||
it "has story title" do
|
||||
expect(html).to include("Civilized Discourse Construction Kit")
|
||||
end
|
||||
|
||||
it "has author username" do
|
||||
expect(html).to include("sosuke")
|
||||
end
|
||||
|
||||
it "has the permalink to the comic" do
|
||||
expect(html).to include(link)
|
||||
end
|
||||
|
||||
it "has the item date" do
|
||||
expect(html).to include("2013")
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user