Prechádzať zdrojové kódy

Move test reference values to a record

jherve 1 rok pred
rodič
commit
1c19e6c91d

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 38 - 30
test/ArtDecoCard.purs


+ 82 - 75
test/JobsUnifiedTopCard.purs

@@ -18,84 +18,91 @@ import Test.Spec.Assertions (shouldEqual)
 import Test.Utils (detachFromFile, getOutputFromFile)
 import Type.Proxy (Proxy(..))
 
-jobsUnifiedTopCardSpec :: Spec Unit
-jobsUnifiedTopCardSpec = do
-  describe "Jobs top card parsing" do
-    it "reads well as a JobOfferPage DetachedNode" do
-      topCard <- detachFromFile (Proxy :: Proxy JobOfferPage) "test/examples/job_offer.html"
+type TestCase a = { detached ∷ a DetachedNode , filePath ∷ String , output ∷ Output }
 
-      topCard `shouldEqual` Right(JobOfferPage (JobsUnifiedTopCardElement {
-        actions: (Just (NonEmptyList (NonEmpty (TopCardActionButton
-          (DetachedButton {
-            classes: ("jobs-apply-button" : "artdeco-button" : "artdeco-button--3" : "artdeco-button--primary" : "ember-view" : Nil),
-            content: "Candidature simplifiée",
-            role: Nothing
-          }))
-          ((TopCardActionButton (DetachedButton {
-            classes: ("jobs-save-button" : "artdeco-button" : "artdeco-button--3" : "artdeco-button--secondary" : Nil),
-            content: "Enregistrer Enregistrer Data Engineer H/F - Secteur Energie chez LINCOLN",
-            role: Nothing
-          })) : Nil)
-        ))),
-        header: (DetachedElement {
-          classes: ("t-24" : "t-bold" : "job-details-jobs-unified-top-card__job-title" : Nil),
-          content: "Data Engineer H/F - Secteur Energie",
-          id: Nothing,
-          tag: "H1"
+jobOfferPage_3786945580 ∷ TestCase JobOfferPage
+jobOfferPage_3786945580 = {
+  filePath: "test/examples/job_offer_3786945580.html",
+  detached: JobOfferPage (JobsUnifiedTopCardElement {
+    actions: (Just (NonEmptyList (NonEmpty (TopCardActionButton
+      (DetachedButton {
+        classes: ("jobs-apply-button" : "artdeco-button" : "artdeco-button--3" : "artdeco-button--primary" : "ember-view" : Nil),
+        content: "Candidature simplifiée",
+        role: Nothing
+      }))
+      ((TopCardActionButton (DetachedButton {
+        classes: ("jobs-save-button" : "artdeco-button" : "artdeco-button--3" : "artdeco-button--secondary" : Nil),
+        content: "Enregistrer Enregistrer Data Engineer H/F - Secteur Energie chez LINCOLN",
+        role: Nothing
+      })) : Nil)
+    ))),
+    header: (DetachedElement {
+      classes: ("t-24" : "t-bold" : "job-details-jobs-unified-top-card__job-title" : Nil),
+      content: "Data Engineer H/F - Secteur Energie",
+      id: Nothing,
+      tag: "H1"
+    }),
+    insights: (Just (NonEmptyList (NonEmpty (TopCardInsight {
+        content: (TopCardInsightContentSecondary {
+          primary: (DetachedElement {classes: Nil, content: "Sur site", id: Nothing, tag: "SPAN"}),
+          secondary: (NonEmptyList (NonEmpty (TopCardSecondaryInsightNested
+            (DetachedElement {classes: Nil, content: "Temps plein", id: Nothing, tag: "SPAN"}))
+            ((TopCardSecondaryInsightPlain
+            (DetachedElement {classes: ("job-details-jobs-unified-top-card__job-insight-view-model-secondary" : Nil), content: "Confirmé", id: Nothing,tag: "SPAN" })) : Nil))
+          )
         }),
-        insights: (Just (NonEmptyList (NonEmpty (TopCardInsight {
-            content: (TopCardInsightContentSecondary {
-              primary: (DetachedElement {classes: Nil, content: "Sur site", id: Nothing, tag: "SPAN"}),
-              secondary: (NonEmptyList (NonEmpty (TopCardSecondaryInsightNested
-                (DetachedElement {classes: Nil, content: "Temps plein", id: Nothing, tag: "SPAN"}))
-                ((TopCardSecondaryInsightPlain
-                (DetachedElement {classes: ("job-details-jobs-unified-top-card__job-insight-view-model-secondary" : Nil), content: "Confirmé", id: Nothing,tag: "SPAN" })) : Nil))
-              )
-            }),
-            icon: DetachedLiIcon "job"
-          }) ((TopCardInsight {
+        icon: DetachedLiIcon "job"
+      }) ((TopCardInsight {
+          content: (TopCardInsightContentSingle (
+            DetachedElement {classes: Nil, content: "201-500 employés · Technologies et services de l’information", id: Nothing, tag: "SPAN" }
+          )),
+          icon: DetachedLiIcon "company"
+        }) : (TopCardInsight {
+            content: (TopCardInsightContentSingle (
+              DetachedElement {classes: Nil, content: "2 anciens élèves travaillent ici", id: Nothing, tag: "SPAN" }
+            )),
+            icon: DetachedLiIcon "people"
+            }) : (TopCardInsight {
               content: (TopCardInsightContentSingle (
-                DetachedElement {classes: Nil, content: "201-500 employés · Technologies et services de l’information", id: Nothing, tag: "SPAN" }
-              )),
-              icon: DetachedLiIcon "company"
+                DetachedElement {classes: Nil, content: "Découvrez comment vous vous positionnez par rapport à 87 candidats. Essai Premium pour 0 EUR", id: Nothing, tag: "SPAN" })),
+              icon: (DetachedSvgElement { dataTestIcon: (Just "lightbulb-medium"), id: Nothing, tag: "svg" })
             }) : (TopCardInsight {
-                content: (TopCardInsightContentSingle (
-                  DetachedElement {classes: Nil, content: "2 anciens élèves travaillent ici", id: Nothing, tag: "SPAN" }
-                )),
-                icon: DetachedLiIcon "people"
-                }) : (TopCardInsight {
-                  content: (TopCardInsightContentSingle (
-                    DetachedElement {classes: Nil, content: "Découvrez comment vous vous positionnez par rapport à 87 candidats. Essai Premium pour 0 EUR", id: Nothing, tag: "SPAN" })),
-                  icon: (DetachedSvgElement { dataTestIcon: (Just "lightbulb-medium"), id: Nothing, tag: "svg" })
-                }) : (TopCardInsight {
-                  content: (TopCardInsightContentButton (
-                    DetachedButton {classes: ("job-details-jobs-unified-top-card__job-insight-text-button" : Nil), content: "9 compétences sur 11 correspondent à votre profil, vous pourriez bien convenir pour ce poste", role: Nothing}
-                  )),
-                  icon: (DetachedSvgElement { dataTestIcon: (Just "checklist-medium"), id: Nothing, tag: "svg" })
-                }) : Nil)))),
-        primaryDescription: (TopCardPrimaryDescription {
-          link: (DetachedA { content: "LINCOLN", href: "https://www.linkedin.com/company/lincoln-/life" }),
-          text: (DetachedText "· Boulogne-Billancourt, Île-de-France, France"),
-          tvmText: (Just (NonEmptyList (NonEmpty (
-            DetachedElement {classes: ("tvm__text" : "tvm__text--neutral" : Nil), content: "il y a 2 semaines", id: Nothing, tag: "SPAN"})
-            ((DetachedElement {classes: ("tvm__text" : "tvm__text--neutral" : Nil), content: "·", id: Nothing, tag: "SPAN"})
-              : (DetachedElement {classes: ("tvm__text" : "tvm__text--neutral" : Nil), content: "87 candidats", id: Nothing, tag: "SPAN"})
-              : Nil
-            ))
-          ))
-        })
-      }))
+              content: (TopCardInsightContentButton (
+                DetachedButton {classes: ("job-details-jobs-unified-top-card__job-insight-text-button" : Nil), content: "9 compétences sur 11 correspondent à votre profil, vous pourriez bien convenir pour ce poste", role: Nothing}
+              )),
+              icon: (DetachedSvgElement { dataTestIcon: (Just "checklist-medium"), id: Nothing, tag: "svg" })
+            }) : Nil)))),
+    primaryDescription: (TopCardPrimaryDescription {
+      link: (DetachedA { content: "LINCOLN", href: "https://www.linkedin.com/company/lincoln-/life" }),
+      text: (DetachedText "· Boulogne-Billancourt, Île-de-France, France"),
+      tvmText: (Just (NonEmptyList (NonEmpty (
+        DetachedElement {classes: ("tvm__text" : "tvm__text--neutral" : Nil), content: "il y a 2 semaines", id: Nothing, tag: "SPAN"})
+        ((DetachedElement {classes: ("tvm__text" : "tvm__text--neutral" : Nil), content: "·", id: Nothing, tag: "SPAN"})
+          : (DetachedElement {classes: ("tvm__text" : "tvm__text--neutral" : Nil), content: "87 candidats", id: Nothing, tag: "SPAN"})
+          : Nil
+        ))
+      ))
+    })
+  }),
+  output: OutJobOffer (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"),
+    flexibility: (Just JobFlexOnSite),
+    title: "Data Engineer H/F - Secteur Energie"
+  })
+}
 
-    it "reads the JobOffer" do
-      jobOffer <- getOutputFromFile (Proxy :: Proxy JobOfferPage) "test/examples/job_offer.html"
+jobsUnifiedTopCardSpec :: Spec Unit
+jobsUnifiedTopCardSpec = do
+  describe "Jobs top card parsing" do
+    it "reads well as a JobOfferPage DetachedNode" do
+      topCard <- detachFromFile (Proxy :: Proxy JobOfferPage) jobOfferPage_3786945580.filePath
+      topCard `shouldEqual` Right(jobOfferPage_3786945580.detached)
 
-      jobOffer `shouldEqual` Right (OutJobOffer (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"),
-        flexibility: (Just JobFlexOnSite),
-        title: "Data Engineer H/F - Secteur Energie"
-      }))
+    it "reads the JobOffer" do
+      jobOffer <- getOutputFromFile (Proxy :: Proxy JobOfferPage) jobOfferPage_3786945580.filePath
+      jobOffer `shouldEqual` Right (jobOfferPage_3786945580.output)

test/examples/job_offer.html → test/examples/job_offer_3786945580.html