123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # coding=utf-8
- import pytest
-
- from tracim_backend.exceptions import GroupDoesNotExist
- from tracim_backend.lib.core.group import GroupApi
- from tracim_backend.tests import DefaultTest
- from tracim_backend.fixtures.users_and_groups import Base as BaseFixture
- from tracim_backend.fixtures.content import Content as ContentFixture
-
-
- class TestGroupApi(DefaultTest):
- fixtures = [BaseFixture, ContentFixture]
-
- def test_unit__get_one__ok_nominal_case(self) -> None:
- """
- Get one group by id
- """
- api = GroupApi(
- current_user=None,
- session=self.session,
- config=self.app_config,
- )
- group = api.get_one(1)
- assert group.group_id == 1
- assert group.group_name == 'users'
-
- def test_unit__get_one__err__group_not_exist(self) -> None:
- """
- Get one group who does not exist by id
- """
- api = GroupApi(
- current_user=None,
- session=self.session,
- config=self.app_config,
- )
- with pytest.raises(GroupDoesNotExist):
- group = api.get_one(10)
-
- def test_unit__get_one_group_with_name__nominal_case(self) -> None:
- """
- get one group by name
- """
- api = GroupApi(
- current_user=None,
- session=self.session,
- config=self.app_config,
- )
- group = api.get_one_with_name('administrators')
- assert group.group_id == 3
- assert group.group_name == 'administrators'
-
- def test_unit__get_one_with_name__err__group_not_exist(self) -> None:
- """
- get one group by name who does not exist
- """
- api = GroupApi(
- current_user=None,
- session=self.session,
- config=self.app_config,
- )
- with pytest.raises(GroupDoesNotExist):
- group = api.get_one_with_name('unknown_group')
-
- def test_unit__get_all__ok__nominal_case(self):
- """
- get all groups
- """
- api = GroupApi(
- current_user=None,
- session=self.session,
- config=self.app_config,
- )
- groups = api.get_all()
- assert ['users', 'managers', 'administrators'] == [group.group_name for group in groups] # nopep8
|