37 lines
1.2 KiB
Elixir
37 lines
1.2 KiB
Elixir
defmodule Wikipedia.Fixtures do
|
|
@fixtures_folder Path.join([File.cwd!(), "test/support/fixtures/wikipedia"])
|
|
|
|
# Cache fixtures at compile time to avoid repeated file I/O
|
|
@wikidata_response Path.join([@fixtures_folder, "wikidata_response.json"])
|
|
|> File.read!()
|
|
|> JSON.decode!()
|
|
|
|
@wikidata_response_no_enwiki Path.join([@fixtures_folder, "wikidata_response_no_enwiki.json"])
|
|
|> File.read!()
|
|
|> JSON.decode!()
|
|
|
|
@article_summary Path.join([@fixtures_folder, "article_summary.json"])
|
|
|> File.read!()
|
|
|> JSON.decode!()
|
|
|
|
@article_extract Path.join([@fixtures_folder, "article_extract.json"])
|
|
|> File.read!()
|
|
|> JSON.decode!()
|
|
|
|
def wikidata_response, do: @wikidata_response
|
|
|
|
def wikidata_response_no_enwiki, do: @wikidata_response_no_enwiki
|
|
|
|
def article_summary, do: @article_summary
|
|
|
|
def article_extract, do: @article_extract
|
|
|
|
def article_extract_html do
|
|
@article_extract
|
|
|> get_in(["query", "pages"])
|
|
|> Map.values()
|
|
|> List.first()
|
|
|> Map.get("extract")
|
|
end
|
|
end
|