You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.2 KiB

  1. # Copyright 2020 Coop IT Easy SCRL fs
  2. # Robin Keunen <robin@coopiteasy.be>
  3. # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
  4. import json
  5. from datetime import date, timedelta
  6. from odoo.fields import Date
  7. from odoo.addons.base_rest.controllers.main import _PseudoCollection
  8. from odoo.addons.component.core import WorkContext
  9. from .common import BaseEMCRestCase
  10. class TestSRController(BaseEMCRestCase):
  11. def test_service(self):
  12. # kept as example
  13. # useful if you need to change data in database and check db type
  14. collection = _PseudoCollection("emc.services", self.env)
  15. emc_services_env = WorkContext(
  16. model_name="rest.service.registration", collection=collection
  17. )
  18. service = emc_services_env.component(usage="subscription_request")
  19. result = service.get(self.demo_request_1.id)
  20. self.assertEquals(self.demo_request_1_dict, result)
  21. def test_get_route(self):
  22. id_ = self.demo_request_1.id
  23. route = "/api/subscription_request/%s" % id_
  24. content = self.http_get_content(route)
  25. self.assertEquals(self.demo_request_1_dict, content)
  26. @odoo.tools.mute_logger("odoo.addons.base_rest.http")
  27. def test_route_get_returns_not_found(self):
  28. route = "/api/subscription_request/%s" % "99999"
  29. response = self.http_get(route)
  30. self.assertEquals(response.status_code, 404)
  31. def test_route_get_string_returns_method_not_allowed(self):
  32. route = "/api/subscription_request/%s" % "abc"
  33. response = self.http_get(route)
  34. self.assertEquals(response.status_code, 405)
  35. def test_route_search_all(self):
  36. route = "/api/subscription_request"
  37. response = self.http_get(route)
  38. self.assertEquals(response.status_code, 200)
  39. content = json.loads(response.content)
  40. self.assertIn(
  41. self.demo_request_1_dict, content["rows"]
  42. )
  43. # def test_search_route_from_date(self):
  44. # from_ = Date.to_string(date.today() - timedelta(days=12))
  45. # response = self.http_get("/api/subscription_request?from=%s" % from_)
  46. # self.assertEquals(response.status_code, 200)
  47. #
  48. # content = json.loads(response.content)
  49. # self.assertTrue("message" in content)