예제 #1
0
    def test_retrieve_when_project_exists_and_user_has_right(self):
        Permission(id=1, name='Permission', description='Permission').save()
        Permission(id=3, name='Permission2', description='Permission2').save()
        Project.objects.create(name='Project2',
                               default_permission_id=1,
                               owner_id=self.logged_user.id).save()

        response = self.client.get('/api/projects/1')

        self.assertEqual(response.status_code, 200)
예제 #2
0
 def create_three_projects_two_available_for_logged_in_user(self):
     Project(name='Project1', default_permission_id=1, owner_id=2).save()
     Project(name='Project2', default_permission_id=1, owner_id=2).save()
     Project(name='Project3', default_permission_id=1, owner_id=3).save()
     Permission(id=1, name='Permission', description='Permission').save()
     Permission(id=3, name='Permission2', description='Permission2').save()
     UserProjectPermission(permission_id=1,
                           project_id=1,
                           user_id=self.logged_user.id).save()
     UserProjectPermission(permission_id=3,
                           project_id=2,
                           user_id=self.logged_user.id).save()
예제 #3
0
 def setUp(self):
     User.objects.create_user('someuser', '*****@*****.**', 'password').save()
     Permission(id=1, name='Permission', description='Permission').save()
     Permission(id=3, name='Read-only', description='Permission').save()
     Project(name='Project', default_permission_id=1, owner_id=1).save()
     Category(name='Category', order_in_project=0, project_id=1).save()
     Card(id=1,
          name='Card',
          category_id=1,
          order_in_category=0,
          created_by_id=1).save()
     self.client = APIClient()
     self.client.login(username='******', password='******')
예제 #4
0
    def test_edit_user_project_permission_no_permission_to_edit(self):
        Project(name='Project',
                default_permission_id=2,
                owner_id=self.logged_user.id).save()
        self.client.logout()
        self.client.login(username='******', password='******')
        Permission(id=2,
                   name="Other permission",
                   description='Other permission').save()
        UserProjectPermission(id=1,
                              given_by=self.logged_user,
                              permission_id=1,
                              project_id=1,
                              user_id=2).save()
        request = '{"data":{"id":"1","relationships":{"given_by":{"data":{"type":"Users","id":"1"}},"permission":{' \
                  '"data":{"type":"Permissions","id":"2"}},"project":{"data":{"type":"Projects","id":"1"}},' \
                  '"user":{"data":{"type":"Users","id":"2"}}},"type":"userProjectPermissions"}} '

        response = self.client.patch('/api/user-project-permissions/1',
                                     request,
                                     content_type='application/vnd.api+json')

        self.assertEqual(response.status_code, 403)
        self.assertEqual(len(UserProjectPermission.objects.all()), 1)
        self.assertEqual(UserProjectPermission.objects.first().permission_id,
                         1)
예제 #5
0
    def test_add_new_project(self):
        Permission(id=1, name='Permission', description='Permission').save()
        request = '{"data":{"attributes":{"name":"hdfghdfg","description":"hdfghdfg","date_created":null,' \
                  '"last_modified":null},"relationships":{"default_permission":{"data":{"type":"Permissions",' \
                  '"id":"1"}},"owner":{"data":null}},"type":"projects"}} '

        response = self.client.post('/api/projects',
                                    request,
                                    content_type='application/vnd.api+json')

        self.assertEqual(response.status_code, 201)
        self.assertEqual(len(Project.objects.all()), 1)
예제 #6
0
    def test_wrongly_update_existing_project(self):
        Permission(id=1, name='Permission', description='Permission').save()
        Project.objects.create(name='Project',
                               default_permission_id=1,
                               owner_id=self.logged_user.id).save()
        request = '{"data":{"id":"1","attributes":{"name":"aaaaaaaaaaaaaaaaaaaaaaaaaaaa","description":"New_description",' \
                  '"date_created":"2017-09-24T16:43:56.057Z","last_modified":"2017-09-24T16:43:56.057Z"},' \
                  '"relationships":{"default_permission":{"data":{"type":"Permissions","id":"1"}},"owner":{"data":{' \
                  '"type":"Users","id":"1"}}},"type":"projects"}}'

        response = self.client.patch('/api/projects/1',
                                     request,
                                     content_type='application/vnd.api+json')

        self.assertEqual(response.status_code, 400)
        self.assertEqual(Project.objects.get(pk=1).name, 'Project')
예제 #7
0
 def setUp(self):
     self.create_three_users()
     self.client = APIClient()
     Permission(id=1,
                name="Default permission",
                description='Default permission').save()
예제 #8
0
 def setUp(self):
     User.objects.create_user('someuser', '*****@*****.**', 'password').save()
     Permission(id=1, name='Permission', description='Permission').save()
     Project(name='Project', default_permission_id=1, owner_id=1).save()
     self.client = APIClient()
     self.client.login(username='******', password='******')