From 69989fff0c5d18c069120081eb5cfcc6a9bf8c29 Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 9 Sep 2019 21:10:39 +0200 Subject: Update ouestfrance and seloger tests --- src/test/haskell/ParserSpec.hs | 69 ++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 32 deletions(-) (limited to 'src/test/haskell/ParserSpec.hs') diff --git a/src/test/haskell/ParserSpec.hs b/src/test/haskell/ParserSpec.hs index 64b2b33..00840c7 100644 --- a/src/test/haskell/ParserSpec.hs +++ b/src/test/haskell/ParserSpec.hs @@ -1,21 +1,22 @@ module ParserSpec (spec) where -import Data.Maybe (catMaybes) -import qualified Data.Text.IO as T -import qualified Network.Wreq.Session as Session +import Data.Maybe (catMaybes) +import qualified Data.Text.IO as T +import qualified Network.Wreq.Session as Session import Test.Hspec import qualified Ads import qualified FetchAd -import Model.Ad (Ad (..)) -import qualified Parser.LeboncoinParser as LeboncoinParser --- import qualified Parser.OuestFranceParser as OuestFranceParser --- import qualified Parser.SeLogerParser as SeLogerParser +import Model.Ad (Ad (..)) +import qualified Parser.LeboncoinParser as LeboncoinParser +import qualified Parser.OuestFranceParser as OuestFranceParser +import qualified Parser.SeLogerParser as SeLogerParser spec :: Spec spec = do describe "Parser" $ do session <- runIO Session.newSession + describe "LeBonCoin" $ do it "should parse no results from empty string" $ do @@ -31,31 +32,35 @@ spec = do ["https://www.leboncoin.fr/annonces/offres/ile_de_france/"] checkAds ads - -- describe "OuestFrance" $ do - -- - -- it "should parse no results from empty string" $ do - -- OuestFranceParser.parse "" `shouldBe` [] - -- - -- it "should parse ads from page" $ do - -- rawOuestFranceAds <- T.readFile "src/test/resources/ouestFrance.html" - -- OuestFranceParser.parse rawOuestFranceAds `shouldBe` Ads.ouestFrance - -- - -- it "should parse ads from remote page" $ do - -- ads <- FetchAd.ouestFrance ["https://www.ouestfrance-immo.com/louer/appartement/rennes-35-35000/"] - -- checkAds ads - -- - -- describe "SeLoger" $ do - -- - -- it "should parse no results from empty string" $ do - -- SeLogerParser.parse "" `shouldBe` [] - -- - -- it "should parse ads from page" $ do - -- ads <- T.readFile "src/test/resources/seLoger.html" - -- SeLogerParser.parse ads `shouldBe` Ads.seLoger - -- - -- it "should parse ads from remote page" $ do - -- ads <- FetchAd.seLoger ["https://www.seloger.com/list.htm?tri=initial&idtypebien=2,1&idtt=2,5&naturebien=1,2,4&ci=690123"] - -- checkAds ads + describe "OuestFrance" $ do + + it "should parse no results from empty string" $ do + OuestFranceParser.parse "" `shouldBe` [] + + it "should parse ads from page" $ do + rawOuestFranceAds <- T.readFile "src/test/resources/ouestFrance.html" + OuestFranceParser.parse rawOuestFranceAds `shouldBe` Ads.ouestFrance + + it "should parse ads from remote page" $ do + ads <- FetchAd.ouestFrance + session + ["https://www.ouestfrance-immo.com/louer/appartement/rennes-35-35000/"] + checkAds ads + + describe "SeLoger" $ do + + it "should parse no results from empty string" $ do + SeLogerParser.parse "" `shouldBe` [] + + it "should parse ads from page" $ do + ads <- T.readFile "src/test/resources/seLoger.html" + SeLogerParser.parse ads `shouldBe` Ads.seLoger + + it "should parse ads from remote page" $ do + ads <- FetchAd.seLoger + session + ["https://www.seloger.com/list.htm?tri=initial&idtypebien=2,1&idtt=2,5&naturebien=1,2,4&ci=690123"] + checkAds ads checkAds :: [Ad] -> IO () checkAds ads = do -- cgit v1.2.3