test_input.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import pytest
  2. from datetime import date, datetime
  3. from job_search.messages import VisitedLinkedInJobPageMessage
  4. from job_search.job_storage import (
  5. JobOffer,
  6. JobOfferOrigin,
  7. ApplicationProcess,
  8. Flexibility,
  9. )
  10. @pytest.fixture(
  11. params=[
  12. (
  13. VisitedLinkedInJobPageMessage(
  14. url="https://www.linkedin.com/jobs/view/3755217595",
  15. job_title="Job title",
  16. page_title="Page title",
  17. company="Company",
  18. location="location",
  19. company_domain="domain",
  20. company_url="https://www.linkedin.com/company/the-company/life",
  21. has_simplified_process=True,
  22. flexibility=Flexibility.FULL_REMOTE.value,
  23. ),
  24. JobOffer(
  25. url="https://www.linkedin.com/jobs/view/3755217595",
  26. title="Job title",
  27. company="Company",
  28. origin=JobOfferOrigin.LINKED_IN,
  29. application_process=ApplicationProcess.LINKED_IN_SIMPLIFIED,
  30. location="location",
  31. company_domain="domain",
  32. company_url="https://www.linkedin.com/company/the-company/life",
  33. flexibility=Flexibility.FULL_REMOTE,
  34. ),
  35. ),
  36. ]
  37. )
  38. def message_job_offer(request):
  39. return request.param
  40. class TestJobOfferExtraction:
  41. def test_extract_from_visited_linkedin(self, message_job_offer):
  42. (message, expected_job_offer) = message_job_offer
  43. assert message.extract_job_offer() == expected_job_offer