ぼざクリタグ広場 https://hub.nizika.monster
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

29 lines
851 B

  1. require "rails_helper"
  2. RSpec.describe "Preview", type: :request do
  3. describe "GET /preview/title" do
  4. it "401 unless logged in" do
  5. sign_out
  6. get "/preview/title", params: { url: "example.com" }
  7. expect(response).to have_http_status(:unauthorized)
  8. end
  9. it "400 when url blank" do
  10. sign_in_as(create(:user))
  11. get "/preview/title", params: { url: "" }
  12. expect(response).to have_http_status(:bad_request)
  13. end
  14. it "returns parsed title (stubbing URI.open)" do
  15. sign_in_as(create(:user))
  16. fake_html = "<html><head><title> Hello </title></head></html>"
  17. allow(URI).to receive(:open).and_return(StringIO.new(fake_html))
  18. get "/preview/title", params: { url: "example.com" }
  19. expect(response).to have_http_status(:ok)
  20. expect(json["title"]).to eq("Hello")
  21. end
  22. end
  23. end