module InputTable.Updates.SortRowsTest exposing (all) import Expect import Test exposing (Test, test, describe) import InputTable.Updates.SortRows exposing (run) import InputTable.Model exposing (..) import InputTable.TestData as TestData exposing (rows, row1, row2, row3, row4, A, columnN) columnZ = TestData.columnZ "" all : Test all = describe "SortRows.run should sort rows according to a column's getter" [ test "should sort rows with a string column getter" <| \() -> Expect.equal (run initialRowsAndSorting { id = columnZ.id , hasNumericalValues = False , subType = columnZ.subType } ) ({ rows = [ row2, row3, row1, row4 ] , sorting = Asc "3" } ) , test "should sort rows with a number column getter" <| \() -> Expect.equal (run initialRowsAndSorting { id = columnN.id , hasNumericalValues = True , subType = columnN.subType } ) ({ rows = [ row2, row1, row3, row4 ] , sorting = Asc "4" } ) ] initialRowsAndSorting : { rows : List (Row A), sorting : Sorting } initialRowsAndSorting = { rows = rows , sorting = NoSorting }