예제 #1
0
    def test_board_permissions_for_not_a_board_member(self):
        organization_membership = OrganizationMembershipFactory(role=OrganizationMemberRole.MEMBER)
        board = BoardFactory(organization_id=organization_membership.organization_id)

        permissions = PermissionsService.get_board_permissions(
            board_id=board.id,
            user_id=organization_membership.user_id,
        )
        self._assert_has_no_permissions(permissions)
예제 #2
0
    def test_create_board_name_not_unique(self):
        organization_membership = OrganizationMembershipFactory(
            role=OrganizationMemberRole.OWNER)
        board = BoardFactory(
            organization_id=organization_membership.organization_id, )

        with self.assertRaises(BoardAlreadyExistsException):
            _ = BoardService.create_board(
                name=board.name,
                organization_id=organization_membership.organization_id)
예제 #3
0
    def test_create_category(self):
        board = BoardFactory()

        category = CategoryService.create_category(
            name='category',
            board_id=board.id,
        )

        self.assertIsNotNone(category)
        self.assertEqual(category.name, 'category')
        self.assertEqual(category.board.id, board.id)
예제 #4
0
    def test_add_member(self):
        organization_membership = OrganizationMembershipFactory()
        board = BoardFactory(
            organization_id=organization_membership.organization_id, )

        board_membership = BoardMembershipService.create_board_membership(
            board_id=board.id,
            organization_membership_id=organization_membership.id,
        )

        self.assertIsNotNone(board_membership)
        self.assertEqual(board_membership.board.id, board.id)
        self.assertEqual(board_membership.organization_membership.id,
                         organization_membership.id)
예제 #5
0
    def test_create_board(self):
        user = UserFactory()
        api_client = APIClient()
        api_client.force_authenticate(user=user)

        board = BoardFactory()
        payload = {
            'name': 'Main Board',
            'organization_id': board.organization_id,
        }
        with  \
                patch.object(
                    PermissionsService,
                    'get_organization_permissions',
                    return_value=Permissions.with_all_permissions()
                ) as mocked_get_permissions, \
                patch.object(BoardService, 'create_board', return_value=board) as mocked_create_board, \
                patch.object(CategoryService, 'create_category') as mocked_create_category:
            response = api_client.post('/api/v1/boards',
                                       data=payload,
                                       format='json')

        self.assertEqual(response.status_code, 201)
        mocked_get_permissions.assert_called_with(
            organization_id=board.organization_id,
            user_id=user.id,
        )
        mocked_create_board.assert_called_with(
            name=payload['name'],
            organization_id=payload['organization_id'],
        )
        mocked_create_category.assert_called_with(
            name=CategoryService.NOT_SORTED,
            board_id=board.id,
        )
        self.assertDictEqual(
            response.data,
            {
                'id': str(board.id),
                'name': board.name,
                'organization_id': str(board.organization_id)
            },
        )
예제 #6
0
    def handle(self, *args, **options):
        force = options["force"]

        if not settings.DEBUG:
            raise CommandError("Command not meant for production")

        if force:
            Board.objects.filter(name="Benchmark").delete()
        elif Board.objects.filter(name="Benchmark").exists():
            raise CommandError("Aborting. Benchmark already exists.")

        if User.objects.filter(username="******").exists():
            user = User.objects.filter(username="******").first()
        else:
            user = UserFactory(username="******")

        board = BoardFactory(name="Benchmark", owner=user)
        for _ in range(10):
            column = ColumnFactory(board=board)
            for _ in range(50):
                TaskFactory(column=column)
예제 #7
0
 def test_board_permissions_for_a_random_user(self):
     permissions = PermissionsService.get_board_permissions(
         board_id=BoardFactory().id,
         user_id=UserFactory().id,
     )
     self._assert_has_no_permissions(permissions)
예제 #8
0
    def test_add_member_organization_membership_not_found(self):
        board = BoardFactory()

        with self.assertRaises(OrganizationMembershipNotFoundException):
            _ = BoardMembershipService.create_board_membership(
                board_id=board.id, organization_membership_id=-1)