scribe/spec/models/gist_params_spec.cr

34 lines
822 B
Crystal

require "../spec_helper"
describe GistParams do
it "extracts params from the gist url" do
url = "https://gist.github.com/user/1D?file=example.txt"
params = GistParams.extract_from_url(url)
params.id.should eq("1D")
params.filename.should eq("example.txt")
end
describe "when no file param exists" do
it "does not extract a filename" do
url = "https://gist.github.com/user/1D"
params = GistParams.extract_from_url(url)
params.id.should eq("1D")
params.filename.should be_nil
end
end
describe "when the URL is not a gist URL" do
it "raises a MissingGistId exeption" do
url = "https://example.com"
expect_raises(GistParams::MissingGistId, message: "https://example.com") do
GistParams.extract_from_url(url)
end
end
end
end