Esempio n. 1
0
 def test_add_user(self, api_client):
     user = UserFactory()
     group = GroupFactory()
     res = api_client.post(f"/api/v3/group/{group.id}/add_user/",
                           {"user_id": user.id})
     assert res.status_code == 204
     assert user.groups.filter(pk=group.pk).count() == 1
Esempio n. 2
0
 def test_it_works(self, api_client):
     group = GroupFactory()
     res = api_client.get("/api/v3/group/")
     assert res.status_code == 200
     assert res.data == {
         "count": 1,
         "next": None,
         "previous": None,
         "results": [{"id": group.id, "name": group.name}],
     }
Esempio n. 3
0
    def test_groups_in_read_only_mode(self, api_client, settings):
        settings.ADMIN_ENABLED = False

        res = api_client.get("/api/v3/group/")
        assert res.status_code == 403
        assert res.data["detail"] == AdminEnabled.message

        res = api_client.post("/api/v3/group/", {"name": "Test"})
        assert res.status_code == 403
        assert res.data["detail"] == AdminEnabled.message
        assert not Group.objects.all().exists()

        g = GroupFactory(name="abc")
        res = api_client.put(f"/api/v3/group/{g.id}/", {"name": "def"})
        assert res.status_code == 403
        assert res.data["detail"] == AdminEnabled.message
Esempio n. 4
0
 def test_it_works(self, api_client):
     user = User.objects.first()
     group = GroupFactory()
     user.groups.add(group)
     res = api_client.get("/api/v3/user/")
     assert res.status_code == 200
     assert res.data == {
         "count": 1,
         "next": None,
         "previous": None,
         "results": [
             {
                 "id": user.id,
                 "first_name": user.first_name,
                 "last_name": user.last_name,
                 "email": user.email,
                 "groups": [{"id": group.id, "name": group.name}],
             }
         ],
     }
Esempio n. 5
0
 def test_remove_user_not_in_group(self, api_client):
     user = UserFactory()
     group = GroupFactory()
     res = api_client.post(f"/api/v3/group/{group.id}/remove_user/",
                           {"user_id": user.id})
     assert res.status_code == 400
Esempio n. 6
0
 def test_remove_user_bad_user_id(self, api_client):
     group = GroupFactory()
     res = api_client.post(f"/api/v3/group/{group.id}/remove_user/",
                           {"user_id": 9999})
     assert res.status_code == 400
Esempio n. 7
0
 def test_add_user_cannot_add_self(self, api_client):
     user = User.objects.first()
     group = GroupFactory()
     res = api_client.post(f"/api/v3/group/{group.id}/add_user/",
                           {"user_id": user.id})
     assert res.status_code == 403
Esempio n. 8
0
 def test_add_user_no_user_id(self, api_client):
     group = GroupFactory()
     res = api_client.post(f"/api/v3/group/{group.id}/add_user/")
     assert res.status_code == 400
Esempio n. 9
0
 def test_delete_group(self, api_client):
     g = GroupFactory()
     res = api_client.delete(f"/api/v3/group/{g.id}/")
     assert res.status_code == 204
     assert Group.objects.all().count() == 0
Esempio n. 10
0
 def test_update_group(self, api_client):
     g = GroupFactory(name="abc")
     res = api_client.put(f"/api/v3/group/{g.id}/", {"name": "def"})
     assert res.status_code == 200
     g.refresh_from_db()
     assert g.name == "def"
Esempio n. 11
0
 def test_resolve_group_by_name(self, gql_client):
     g = GroupFactory()
     res = gql_client.execute(GQ().query.group(name=g.name).fields("id"))
     assert res == {"data": {"group": {"id": str(g.id)}}}
Esempio n. 12
0
 def test_resolve_group_by_id(self, gql_client):
     g = GroupFactory()
     res = gql_client.execute(GQ().query.group(id=g.id).fields("name"))
     assert res == {"data": {"group": {"name": g.name}}}
Esempio n. 13
0
 def test_resolve_all_groups(self, gql_client):
     g = GroupFactory()
     res = gql_client.execute(GQ().query.allGroups.fields("id"))
     assert res == {"data": {"allGroups": [{"id": str(g.id)}]}}
Esempio n. 14
0
 def test_update_group(self, api_client):
     g = GroupFactory(name="abc")
     res = api_client.put(f"/api/v3/group/{g.id}/", {"name": "def"})
     assert res.status_code == 200
     g.refresh_from_db()
     assert g.name == "def"