test_group_api.py 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # coding=utf-8
  2. import pytest
  3. from tracim.exceptions import GroupNotExist
  4. from tracim.lib.core.group import GroupApi
  5. from tracim.tests import DefaultTest
  6. from tracim.fixtures.users_and_groups import Base as BaseFixture
  7. from tracim.fixtures.content import Content as ContentFixture
  8. class TestGroupApi(DefaultTest):
  9. fixtures = [BaseFixture, ContentFixture]
  10. def test_unit__get_one__ok_nominal_case(self) -> None:
  11. """
  12. Get one group by id
  13. """
  14. api = GroupApi(
  15. current_user=None,
  16. session=self.session,
  17. )
  18. group = api.get_one(1)
  19. assert group.group_id == 1
  20. assert group.group_name == 'users'
  21. def test_unit__get_one__err__group_not_exist(self) -> None:
  22. """
  23. Get one group who does not exist by id
  24. """
  25. api = GroupApi(
  26. current_user=None,
  27. session=self.session,
  28. )
  29. with pytest.raises(GroupNotExist):
  30. group = api.get_one(10)
  31. def test_unit__get_one_group_with_name__nominal_case(self) -> None:
  32. """
  33. get one group by name
  34. """
  35. api = GroupApi(
  36. current_user=None,
  37. session=self.session,
  38. )
  39. group = api.get_one_with_name('administrators')
  40. assert group.group_id == 3
  41. assert group.group_name == 'administrators'
  42. def test_unit__get_one_with_name__err__group_not_exist(self) -> None:
  43. """
  44. get one group by name who does not exist
  45. """
  46. api = GroupApi(
  47. current_user=None,
  48. session=self.session,
  49. )
  50. with pytest.raises(GroupNotExist):
  51. group = api.get_one_with_name('unknown_group')
  52. def test_unit__get_all__ok__nominal_case(self):
  53. """
  54. get all groups
  55. """
  56. api = GroupApi(
  57. current_user=None,
  58. session=self.session,
  59. )
  60. groups = api.get_all()
  61. assert ['users', 'managers', 'administrators'] == [group.group_name for group in groups] # nopep8