built database

This commit is contained in:
Jonathan Lamothe
2019-08-16 11:49:04 -04:00
parent 505d0d8e96
commit 0be1a64119
2 changed files with 60 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ spec = describe "Mtlstats.Types" $ do
pPointsSpec
playerSpec
goalieSpec
databaseSpec
pPointsSpec :: Spec
pPointsSpec = describe "pPoints" $ mapM_
@@ -55,6 +56,17 @@ goalieSpec = describe "Goalie" $ do
it "should encode" $
decode (encode goalie) `shouldBe` Just goalie
databaseSpec :: Spec
databaseSpec = describe "Database" $ do
describe "decode" $
it "should decode" $
decode dbJSON `shouldBe` Just db
describe "encode" $
it "should encode" $
decode (encode db) `shouldBe` Just db
player :: Player
player = newPlayer 1 "Joe" "centre"
& pYtd . psGoals .~ 2
@@ -81,6 +93,11 @@ goalie = newGoalie 1 "Joe"
& gLifetime . gsLosses .~ 14
& gLifetime . gsTies .~ 15
db :: Database
db = newDatabase
& dbPlayers .~ [player]
& dbGoalies .~ [goalie]
playerJSON :: ByteString
playerJSON = [r|
{ "number": 1
@@ -121,3 +138,11 @@ goalieJSON = [r|
, "ties": 15
}
}|]
dbJSON :: ByteString
dbJSON = [r|
{ "players":
[ |] <> playerJSON <> [r| ]
, "goalies":
[ |] <> goalieJSON <> [r| ]
}|]