this repo has no description
at main 1.1 kB view raw
1defmodule EslHnWeb.API.JSONTest do 2 use ExUnit.Case, async: true 3 use ExUnitProperties 4 5 import EslHn.Test.Data 6 7 @subject EslHnWeb.API.JSON 8 9 doctest @subject 10 11 describe "index/1" do 12 test "for empty list renders empty list" do 13 assert [] == @subject.index(%{items: []}) 14 end 15 16 property "length of encoded data is equal to items count" do 17 check all(stories <- list_of(story())) do 18 count = length(stories) 19 20 assert count == length(@subject.index(%{items: stories})) 21 end 22 end 23 24 property "all IDs are present in result" do 25 check all(stories <- list_of(story())) do 26 ids = 27 stories 28 |> Enum.map(& &1.id) 29 |> Enum.sort() 30 31 result = 32 @subject.index(%{items: stories}) 33 |> Enum.map(& &1.id) 34 |> Enum.sort() 35 36 assert ids == result 37 end 38 end 39 end 40 41 describe "show/1" do 42 property "encoded title is the same as input title" do 43 check all(story <- story()) do 44 assert story.title == @subject.show(%{item: story}).title 45 end 46 end 47 end 48end