Jelajahi Sumber

Support some new URLs

jherve 1 tahun lalu
induk
melakukan
1f0b225265
2 mengubah file dengan 21 tambahan dan 0 penghapusan
  1. 17 0
      src/LinkedIn/PageUrl.purs
  2. 4 0
      test/PageUrl.purs

+ 17 - 0
src/LinkedIn/PageUrl.purs

@@ -24,6 +24,8 @@ data PageUrl =
   | UrlEducation String
   | UrlLanguage String
   | UrlJobOffer JobOfferId
+  | UrlListRecommendedJobOffers
+  | UrlSearchJobOffers
 
 derive instance Eq PageUrl
 derive instance Generic PageUrl _
@@ -94,6 +96,19 @@ jobViewP = do
     Nothing -> fail "Not an int"
     Just i -> pure $ UrlJobOffer (JobOfferId i)
 
+recommendedJobsP :: Parser String PageUrl
+recommendedJobsP = do
+  _ <- pathComponentP("jobs")
+  _ <- pathComponentP("collections")
+  _ <- pathComponentP("recommended")
+  pure UrlListRecommendedJobOffers
+
+jobSearchP :: Parser String PageUrl
+jobSearchP = do
+  _ <- pathComponentP("jobs")
+  _ <- pathComponentP("search")
+  pure UrlSearchJobOffers
+
 pageUrlP ∷ Parser String PageUrl
 pageUrlP = try projectP
   <|> try skillsP
@@ -102,3 +117,5 @@ pageUrlP = try projectP
   <|> try languagesP
   <|> try profileMainP
   <|> try jobViewP
+  <|> try recommendedJobsP
+  <|> try jobSearchP

+ 4 - 0
test/PageUrl.purs

@@ -31,5 +31,9 @@ pageUrlSpec = do
       runParser "/in/username/details/education/" pageUrlP `shouldEqual` Right(UrlEducation "username")
     it "jobs page" do
       runParser "/jobs/view/3764313323/" pageUrlP `shouldEqual` Right(UrlJobOffer (JobOfferId (toI64 "3764313323")))
+    it "recommended jobs page" do
+      runParser "/jobs/collections/recommended/" pageUrlP `shouldEqual` Right(UrlListRecommendedJobOffers)
+    it "jobs search page" do
+      runParser "/jobs/search/" pageUrlP `shouldEqual` Right(UrlSearchJobOffers)
     it "not an url" do
       runParser "/not/a/supported/url/" pageUrlP `shouldSatisfy` isLeft