Explorar el Código

Add a new test

jherve hace 2 años
padre
commit
5f343755a9
Se han modificado 3 ficheros con 3756 adiciones y 1 borrados
  1. 1 0
      src/LinkedIn/Jobs/JobOffer.purs
  2. 20 1
      test/JobsUnifiedTopCard.purs
  3. 3735 0
      test/examples/job_offer.html

+ 1 - 0
src/LinkedIn/Jobs/JobOffer.purs

@@ -21,6 +21,7 @@ data JobOffer = JobOffer {
   hasSimplifiedApplicationProcess :: Boolean
   hasSimplifiedApplicationProcess :: Boolean
 }
 }
 
 
+derive instance Eq JobOffer
 derive instance Generic JobOffer _
 derive instance Generic JobOffer _
 instance Show JobOffer where
 instance Show JobOffer where
   show = genericShow
   show = genericShow

+ 20 - 1
test/JobsUnifiedTopCard.purs

@@ -2,7 +2,7 @@ module Test.JobsUnifiedTopCard where
 
 
 import Prelude
 import Prelude
 
 
-import Data.Either (hush, isRight)
+import Data.Either (Either(..), hush, isRight)
 import Data.List (List(..), (:))
 import Data.List (List(..), (:))
 import Data.List.NonEmpty (NonEmptyList(..))
 import Data.List.NonEmpty (NonEmptyList(..))
 import Data.Maybe (Maybe(..), fromJust)
 import Data.Maybe (Maybe(..), fromJust)
@@ -10,9 +10,12 @@ import Data.NonEmpty (NonEmpty(..))
 import Data.Traversable (traverse)
 import Data.Traversable (traverse)
 import Effect (Effect)
 import Effect (Effect)
 import LinkedIn.DetachedNode (DetachedNode(..), toDetached)
 import LinkedIn.DetachedNode (DetachedNode(..), toDetached)
+import LinkedIn.Jobs.JobOffer (JobOffer(..))
+import LinkedIn.Jobs.JobOffer as JJO
 import LinkedIn.JobsUnifiedTopCard (JobsUnifiedTopCardElement(..), TopCardAction(..), TopCardInsight(..), TopCardInsightContent(..), TopCardPrimaryDescription(..), TopCardSecondaryInsight(..))
 import LinkedIn.JobsUnifiedTopCard (JobsUnifiedTopCardElement(..), TopCardAction(..), TopCardInsight(..), TopCardInsightContent(..), TopCardPrimaryDescription(..), TopCardSecondaryInsight(..))
 import LinkedIn.Page.JobOffer (JobOfferPage(..))
 import LinkedIn.Page.JobOffer (JobOfferPage(..))
 import LinkedIn.Page.JobOffer as PageJO
 import LinkedIn.Page.JobOffer as PageJO
+import LinkedIn.Profile.Utils (fromDetachedToUI)
 import LinkedIn.QueryRunner (runQuery)
 import LinkedIn.QueryRunner (runQuery)
 import Node.JsDom (jsDomFromFile)
 import Node.JsDom (jsDomFromFile)
 import Partial.Unsafe (unsafePartial)
 import Partial.Unsafe (unsafePartial)
@@ -127,3 +130,19 @@ main = do
       })
       })
     }
     }
   }
   }
+
+
+  assertEqual {
+    actual: (JJO.fromUI <=< fromDetachedToUI) topCard,
+    expected:
+      Right (JobOffer {
+        companyDomain: (Just "Technologies et services de l’information"),
+        companyLink: "https://www.linkedin.com/company/lincoln-/life",
+        companyName: "LINCOLN",
+        companySize: (Just "201-500 employés"),
+        hasSimplifiedApplicationProcess: true,
+        location: (Just "Boulogne-Billancourt, Île-de-France, France"),
+        remote: (Just "Sur site"),
+        title: "Data Engineer H/F - Secteur Energie"
+      })
+  }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 3735 - 0
test/examples/job_offer.html