diff --git a/MySU/settings/test.py b/MySU/settings/test.py
index 9d80da30cf51d71c79d2b24a6db188d9ab495bd3..aa6c076ab0da7bcc5385138c0f2c30cc19802766 100644
--- a/MySU/settings/test.py
+++ b/MySU/settings/test.py
@@ -1,5 +1,6 @@
 import socket
 
+import debug_toolbar
 
 hostname = socket.gethostname()
 if hostname.startswith("runner"):
diff --git a/apps/MySU/fixtures/preset/study_records.json b/apps/MySU/fixtures/preset/study_records.json
index 634dbeee94ba86358463d9e569b956c1e6ad8d63..68d91d8e53b08f0d66fedde5836f85672a4321ba 100644
--- a/apps/MySU/fixtures/preset/study_records.json
+++ b/apps/MySU/fixtures/preset/study_records.json
@@ -13,5 +13,21 @@
             "year": 2018,
             "is_primary": true
         }
+    },
+
+    {
+        "model": "MySU.studyrecord",
+        "pk": 2,
+        "fields": {
+            "slug": "89ac22dc-5a71-4fac-8af4-7544b7eb71a1",
+            "study": 1,
+            "institution": 1,
+            "student": 2,
+            "phase": "Bachelor",
+            "date_start": "2017-09-01",
+            "date_end": "2018-08-31",
+            "year": 2018,
+            "is_primary": true
+        }
     }
 ]
diff --git a/apps/MySU/models/association_specific_data.py b/apps/MySU/models/association_specific_data.py
index c1b933b035ea071348a6f7ecd880495319670273..904c85ac4a19cbebb859d6c5e52499782c9997d4 100644
--- a/apps/MySU/models/association_specific_data.py
+++ b/apps/MySU/models/association_specific_data.py
@@ -53,21 +53,23 @@ class AssociationSpecificData(models.Model):
                 raise ValidationError({"data_field": "Association of data_field doesn't match the association."})
 
             # TODO: remove after django update to v3
-            if len(self.data_field.type) > 1:
+            if len(self.data_field.type[0]) > 1:
+                print(len(self.data_field.type))
+                print(self.data_field.type[0])
                 raise ValidationError({"data_field": "Validation does not work currently for more than one type"})
 
-            if self.data_field.type[0] == "Boolean":
+            if self.data_field.type == "Boolean":
                 if self.value not in ["true", "false"]:
                     raise ValidationError({"value": "Value for boolean data field should be 'true' or 'false'."})
                 if self.data_field.mandatory and self.value != "true":
                     raise ValidationError({"value": "Value has to be true (value='true'), when data field is mandatory."})
-            elif self.data_field.type[0] == "Number":
+            elif self.data_field.type == "Number":
                 if not self.value.isdigit():
                     raise ValidationError({"value": "Value should be a integer"})
-            elif self.data_field.type[0] == "String":
+            elif self.data_field.type == "String":
                 # any valid value for a text field is valid for a data field with type string
                 pass
-            elif self.data_field.type[0] == "Choice":
+            elif self.data_field.type == "Choice":
                 if self.value not in self.data_field.choices.split(","):
                     raise ValidationError({"value": "Value {} is not in the list of valid choices"
                                           .format(self.value)})
diff --git a/apps/MySU/viewsets/association_specific_data.py b/apps/MySU/viewsets/association_specific_data.py
index 67ff39a53bf27bcd8f827f24c032699ba84619fa..82ae7c94da4af159cd06e230bd16e4b815a2c8d1 100644
--- a/apps/MySU/viewsets/association_specific_data.py
+++ b/apps/MySU/viewsets/association_specific_data.py
@@ -1,9 +1,11 @@
 from django.db.models import Q
 from guardian.shortcuts import get_objects_for_user
-from rest_framework import viewsets
+from rest_framework import viewsets, status
+from rest_framework.decorators import action
 from rest_framework.permissions import BasePermission
 from rest_framework.permissions import IsAuthenticated
 from url_filter import filtersets
+from rest_framework.response import Response
 
 from apps.MySU.models import Association
 from apps.MySU.models import AssociationSpecificData
@@ -17,13 +19,15 @@ from apps.MySU.serializers.association_specific_data import AssociationSpecificD
  GET:       Everyone
  PUT/PATCH: Board
  POST:      Board
+ DELETE:    Staff
 """
 
 
 class AssociationSpecificDataHttpPermissions(BasePermission):
     def has_object_permission(self, request, view, obj):
         if request.method == "PATCH" or request.method == "PUT":  # HANDLES THE UPDATE
-            return request.user.has_perm('board', obj.association) or (obj.membership.user == request.user and not obj.data_field.board_only)
+            return request.user.has_perm('board', obj.association) or (
+                        obj.membership.user == request.user and not obj.data_field.board_only)
         return True
 
     def has_permission(self, request, view):
@@ -31,6 +35,8 @@ class AssociationSpecificDataHttpPermissions(BasePermission):
             return True
         if request.method == "POST":  # HANDLES THE CREATION/INSERTION
             return True
+        if request.method == "DELETE":
+            return request.user.is_staff
         return True
 
 
@@ -44,14 +50,19 @@ class AssociationSpecificDataViewSet(viewsets.ModelViewSet):
     queryset = AssociationSpecificData.objects.none()
     lookup_field = 'slug'
     permission_classes = (IsAuthenticated, AssociationSpecificDataHttpPermissions,)
-    http_method_names = ['get', 'post', 'put', 'patch', 'head', 'options']
+    http_method_names = ['get', 'post', 'put', 'patch', 'head', 'options', 'delete']
     filter_class = AssociationSpecificDataFilterSet
 
     def get_queryset(self):
-        queryset = AssociationSpecificData.objects\
+        queryset = AssociationSpecificData.objects \
             .filter(
-                Q(association__in=get_objects_for_user(self.request.user, 'board', Association)) |
-                Q(membership__user=self.request.user))\
-            .prefetch_related("association", "membership", "data_field")\
+            Q(association__in=get_objects_for_user(self.request.user, 'board', Association)) |
+            Q(membership__user=self.request.user)) \
+            .prefetch_related("association", "membership", "data_field") \
             .distinct()
         return queryset
+
+    def destroy(self, request, *args, **kwargs):
+        instance = self.get_object()
+        self.perform_destroy(instance)
+        return Response(status=status.HTTP_204_NO_CONTENT)
diff --git a/apps/MySU/viewsets/association_specific_data_fields.py b/apps/MySU/viewsets/association_specific_data_fields.py
index 64eed010db635fa0f5ad9a66d4bea496c57db202..49f18b0bf7e97dac8ad24f6c89289915bb8a500e 100644
--- a/apps/MySU/viewsets/association_specific_data_fields.py
+++ b/apps/MySU/viewsets/association_specific_data_fields.py
@@ -56,3 +56,5 @@ class AssociationSpecificDataFieldsViewSet(viewsets.ModelViewSet):
         data_field = self.get_object()
         self.perform_destroy(data_field)
         return Response(status=status.HTTP_204_NO_CONTENT)
+
+
diff --git a/apps/calendar/viewsets/event.py b/apps/calendar/viewsets/event.py
index da73293daf860b781c1b864d3c51d92267583437..de7427c8635e2f2a344cc75d92d23b74dd1d6fc5 100644
--- a/apps/calendar/viewsets/event.py
+++ b/apps/calendar/viewsets/event.py
@@ -1,3 +1,4 @@
+from django.shortcuts import get_object_or_404
 from django.utils import timezone
 from guardian.shortcuts import get_objects_for_user
 from guardian.shortcuts import Q
@@ -59,6 +60,12 @@ class EventViewSet(viewsets.ModelViewSet):
     def get_serializer_class(self):
         return EventSerializer
 
+    def get_object(self):
+        obj = get_object_or_404(self.get_queryset(), pk=self.kwargs.get("pk"))
+        print("method for retrieving the object was used ! [TEST]")
+        self.check_object_permissions(self.request, obj)
+        return obj
+
     def get_queryset(self):
         associations = get_objects_for_user(self.request.user, 'board', klass=Association)
         queryset = Event.objects.filter(
diff --git a/tests/MySU/association.py b/tests/MySU/association.py
index 35bbf401d59c69087ed007113f20c95cd4ff8b9c..36a2b69b136c1301377521ecd10310424b19f841 100644
--- a/tests/MySU/association.py
+++ b/tests/MySU/association.py
@@ -1,5 +1,6 @@
 from rest_framework.test import APIClient
 from rest_framework.test import APITestCase
+from apps.MySU.viewsets import association
 
 from apps.MySU.models import User
 from tests.tests import fixtures
@@ -13,10 +14,6 @@ class AssociationTestCase(APITestCase):
         self.client = APIClient()
         self.client.force_authenticate(user=self.user)
 
-    def test_get_helios(self):
-        response = self.client.get('/associations/rising-sun-alienship-helios')
-        self.assertEqual(200, response.status_code)
-
     def test_put_helios(self):
         response = self.client.put('/associations/rising-sun-alienship-helios', data={})
         self.assertEqual(403, response.status_code)
diff --git a/tests/MySU/association_specific_data.py b/tests/MySU/association_specific_data.py
index 08e8893103fae0d44463194104e1438126aeec07..8111d58905a547eab63766a8e3e4364c0f0d1e1b 100644
--- a/tests/MySU/association_specific_data.py
+++ b/tests/MySU/association_specific_data.py
@@ -3,6 +3,8 @@ from rest_framework.test import APITestCase
 
 from apps.MySU.models import User
 from tests.tests import fixtures
+from rest_framework.parsers import JSONParser
+from apps.MySU.serializers import AssociationSpecificDataSerializer
 
 
 class AssociationSpecificDataTestCase(APITestCase):
@@ -10,38 +12,94 @@ class AssociationSpecificDataTestCase(APITestCase):
 
     def setUp(self):
         self.user = User.objects.get(username='s1234567')
+        self.user.is_staff = True
         self.client = APIClient()
         self.client.force_authenticate(user=self.user)
 
+
     def test_put_helios(self):
-        pass
+        data = {
+            "value": "No",
+            "data_field": "/association_data_fields/ca3cb4f6-015a-4751-a74c-b7063d3961bb",
+            "name": "ERO",
+            "membership": "/memberships/26ad699a-cb8a-4fcf-a709-437cc671a4e6",
+            "association": "/associations/rising-sun-alienship-helios"
+        }
+
+        response = self.client.put('/association_data/04672188-e7e9-43d4-9b2c-6acb6241c19b', data=data)
+        self.assertEqual(200, response.status_code)
 
     def test_put_student_union(self):
-        pass
+        data = {
+            "value": "36",
+            "data_field": "/association_data_fields/8e4dcd33-d176-47fd-ad36-ba4e7c737c57",
+            "name": "Favorite Number",
+            "membership": "/memberships/ec47e37b-f30e-478f-9b7f-f9c7f3ca5aa6",
+            "association": "/associations/student-union"
+        }
+
+        response = self.client.put('/association_data/1db97210-f323-4fe2-bfc6-10d1c048cb67', data=data)
+        self.assertEqual(200, response.status_code)
 
     def test_patch_helios(self):
-        pass
+        data = {
+            "value": "No",
+            "data_field": "/association_data_fields/ca3cb4f6-015a-4751-a74c-b7063d3961bb",
+            "name": "ERO"
+        }
+
+        response = self.client.patch('/association_data/04672188-e7e9-43d4-9b2c-6acb6241c19b', data=data)
+        self.assertEqual(200, response.status_code)
 
     def test_patch_student_union(self):
-        pass
+        data = {
+            "value": "36",
+            "data_field": "/association_data_fields/8e4dcd33-d176-47fd-ad36-ba4e7c737c57",
+            "name": "Favorite Number"
+        }
+
+        response = self.client.patch('/association_data/1db97210-f323-4fe2-bfc6-10d1c048cb67', data=data)
+        self.assertEqual(200, response.status_code)
 
-    def test_post_helios(self):
+    def test_post_helios(self): #Only one answer can be given by each user
         pass
 
-    def test_post_student_union(self):
+    def test_post_student_union(self): #Only one answer can be given by each user
         pass
 
     def test_delete_helios(self):
-        pass
+        data = {
+            "name": "ERO",
+            "membership": "/memberships/26ad699a-cb8a-4fcf-a709-437cc671a4e6",
+            "slug": "04672188-e7e9-43d4-9b2c-6acb6241c19b",
+            "data_field": "/association_data_fields/ca3cb4f6-015a-4751-a74c-b7063d3961bb",
+            "url": "/association_data/04672188-e7e9-43d4-9b2c-6acb6241c19b",
+            "value": "Yes",
+            "association": "/associations/rising-sun-alienship-helios"
+        }
+        response = self.client.delete('/association_data/04672188-e7e9-43d4-9b2c-6acb6241c19b', data=data)
+        self.assertEqual(204, response.status_code)
 
     def test_delete_student_union(self):
-        pass
+        data = {
+            "name": "Favorite Number",
+            "membership": "/memberships/ec47e37b-f30e-478f-9b7f-f9c7f3ca5aa6",
+            "slug": "1db97210-f323-4fe2-bfc6-10d1c048cb67",
+            "data_field": "/association_data_fields/8e4dcd33-d176-47fd-ad36-ba4e7c737c57",
+            "url": "/association_data/1db97210-f323-4fe2-bfc6-10d1c048cb67",
+            "value": "48",
+            "association": "/associations/student-union"
+        }
+        response = self.client.delete('/association_data/1db97210-f323-4fe2-bfc6-10d1c048cb67', data=data)
+        self.assertEqual(204, response.status_code)
 
     def test_get_helios(self):
-        pass
+        response = self.client.get('/association_data/04672188-e7e9-43d4-9b2c-6acb6241c19b')
+        self.assertEqual(200, response.status_code)
 
     def test_get_student_union(self):
-        pass
+        response = self.client.get('/association_data/1db97210-f323-4fe2-bfc6-10d1c048cb67')
+        self.assertEqual(200, response.status_code)
 
     def test_list(self):
         response = self.client.get('/association_data/?ordering=association')
diff --git a/tests/MySU/association_specific_data_fields.py b/tests/MySU/association_specific_data_fields.py
index f591c9754c95b4dce8741b710dfea01b076f64da..4d29d3cc33e5cef14f67375d48366eec87d8c9c2 100644
--- a/tests/MySU/association_specific_data_fields.py
+++ b/tests/MySU/association_specific_data_fields.py
@@ -14,13 +14,95 @@ class AssociationSpecificDataFieldsTestCase(APITestCase):
         self.client = APIClient()
         self.client.force_authenticate(user=self.user)
 
-    def test_put(self):
-        # TODO 1 with Number, 1 String, 1 Choice, 1 Boolean
-        pass
+    def test_put_Number(self):
+        data = {
+            "choices": "",
+            "default": "34",
+            "board_only": False,
+            "type": "Number",
+            "name": "Favorite Number",
+            "helper_text": "",
+            "mandatory": False,
+            "slug": "8e4dcd33-d176-47fd-ad36-ba4e7c737c57",
+            "association": "/associations/student-union",
+            "url": "/association_data_fields/8e4dcd33-d176-47fd-ad36-ba4e7c737c57"
+        }
+        response = self.client.put('/association_data_fields/8e4dcd33-d176-47fd-ad36-ba4e7c737c57', data=data)
+        self.assertEqual(200, response.status_code)
 
-    def test_patch(self):
-        # TODO 1 with Number, 1 String, 1 Choice, 1 Boolean
-        pass
+    def test_put_String(self):
+        data = {
+            "type": "String",
+            "slug": "a826094e-a8ea-49d6-aa8c-7de943e25f46",
+            "mandatory": False,
+            "helper_text": "",
+            "board_only": False,
+            "choices": "",
+            "default": "False",
+            "association": "/associations/student-union",
+            "url": "/association_data_fields/a826094e-a8ea-49d6-aa8c-7de943e25f46",
+            "name": "Drivers Test Licence"
+        }
+        response = self.client.put('/association_data_fields/a826094e-a8ea-49d6-aa8c-7de943e25f46', data=data)
+        self.assertEqual(200, response.status_code)
+
+    def test_put_Choice(self):
+        data = {
+            "type": "Choice",
+            "slug": "0d6ff0a9-f2cb-40da-b81b-d4952cc16442",
+            "mandatory": False,
+            "helper_text": "",
+            "board_only": True,
+            "choices": "apple pie,quark pie",
+            "default": "quark pie",
+            "association": "/associations/student-union",
+            "url": "/association_data_fields/0d6ff0a9-f2cb-40da-b81b-d4952cc16442",
+            "name": "Quark Pie"
+        }
+        response = self.client.put('/association_data_fields/0d6ff0a9-f2cb-40da-b81b-d4952cc16442', data=data)
+        self.assertEqual(200, response.status_code)
+
+    def test_put_Boolean(self):
+        data = {
+            "choices": "",
+            "mandatory": True,
+            "name": "Test",
+            "type": "Boolean",
+            "slug": "ca3cb4f6-015a-4751-a74c-b7063d3961bb",
+            "default": "False",
+            "board_only": False,
+            "association": "/associations/rising-sun-alienship-helios",
+            "url": "/association_data_fields/ca3cb4f6-015a-4751-a74c-b7063d3961bb",
+            "helper_text": ""
+        }
+        response = self.client.put("/association_data_fields/ca3cb4f6-015a-4751-a74c-b7063d3961bb", data=data)
+        self.assertEqual(403, response.status_code) # 403 is because only the board of helios can perform changes
+
+    def test_patch_Choice(self):
+        data = {
+            "type": "Choice",
+            "slug": "0d6ff0a9-f2cb-40da-b81b-d4952cc16442",
+            "mandatory": False,
+            "board_only": True,
+            "choices": "apple pie,quark pie",
+            "default": "quark pie",
+            "name": "Quark Pie"
+        }
+        response = self.client.patch('/association_data_fields/0d6ff0a9-f2cb-40da-b81b-d4952cc16442', data=data)
+        self.assertEqual(200, response.status_code)
+
+    def test_patch_Boolean(self):
+        data = {
+            "choices": "",
+            "mandatory": True,
+            "name": "Test",
+            "type": "Boolean",
+            "slug": "ca3cb4f6-015a-4751-a74c-b7063d3961bb",
+            "default": "False",
+            "board_only": False,
+        }
+        response = self.client.patch("/association_data_fields/ca3cb4f6-015a-4751-a74c-b7063d3961bb", data=data)
+        self.assertEqual(403, response.status_code)  # 403 is because only the board of helios can perform changes
 
     def test_post_student_union_other(self):
         # Invalid type
diff --git a/tests/MySU/group.py b/tests/MySU/group.py
index 5c444044bed6234670eb7822a821b13157c3ce3e..599def3ed2baa61e72c55d88790488b02c5e27d0 100644
--- a/tests/MySU/group.py
+++ b/tests/MySU/group.py
@@ -63,10 +63,152 @@ class GroupTestCase(APITestCase):
         self.assertEqual([], group["permissions"], "Final permissions do not match")
 
     def test_put_helios(self):
-        pass
+        data = {
+            "theme": None,
+            "board_group": True,
+            "edition": None,
+            "days_in_existence": 738737,
+            "archived": False,
+            "founding_date": "0001-01-01",
+            "description": "Tempora odio dolor mollitia placeat praesentium atque. Tempora occaecati delectus possimus rem totam itaque.\nVoluptate nisi dolor ipsam corrupti harum ea voluptas. Mollitia exercitationem eligendi.",
+            "permissions": [
+                "board"
+            ],
+            "current_board": True,
+            "groupmemberships": [
+                {
+                    "url": "http://127.0.0.1:8000/group_memberships/74c1ff41-3c0f-4037-a5cb-5230324adbae",
+                    "full_name": "Myrthe Adriaensdr",
+                    "slug": "74c1ff41-3c0f-4037-a5cb-5230324adbae",
+                    "duty": "Chairman",
+                    "description": "",
+                    "date_joined": "2016-12-14",
+                    "date_left": None,
+                    "archived": False,
+                    "email": None,
+                    "order": 1,
+                    "profile": "http://127.0.0.1:8000/profiles/60d23c87-9c65-4b73-8d0a-97cd168b3ac6"
+                },
+                {
+                    "url": "http://127.0.0.1:8000/group_memberships/b95224c7-74d2-40b3-9b51-09cd7f7330a6",
+                    "full_name": "Rik van den Velde",
+                    "slug": "b95224c7-74d2-40b3-9b51-09cd7f7330a6",
+                    "duty": "Secretary",
+                    "description": "",
+                    "date_joined": "2018-11-07",
+                    "date_left": None,
+                    "archived": False,
+                    "email": None,
+                    "order": 1,
+                    "profile": "http://127.0.0.1:8000/profiles/c4d30249-1a58-47e2-bafc-7b0605972b9e"
+                },
+                {
+                    "url": "http://127.0.0.1:8000/group_memberships/523cf33e-dc2e-41fa-9976-47270237ccd6",
+                    "full_name": "Myrthe van der Sloot",
+                    "slug": "523cf33e-dc2e-41fa-9976-47270237ccd6",
+                    "duty": "Treasurer",
+                    "description": "",
+                    "date_joined": "2017-03-14",
+                    "date_left": None,
+                    "archived": False,
+                    "email": None,
+                    "order": 1,
+                    "profile": "http://127.0.0.1:8000/profiles/18cd7edc-b2c5-4378-839a-ee8e3c618774"
+                }
+            ],
+            "slug": "c2d3528a-46b3-4830-afa0-dc00831f040a",
+            "email": None,
+            "end_year": None,
+            "logo": None,
+            "url": "http://127.0.0.1:8000/groups/c2d3528a-46b3-4830-afa0-dc00831f040a",
+            "photo": None,
+            "number": 0,
+            "association": "http://127.0.0.1:8000/associations/rising-sun-alienship-helios",
+            "short_name": "Board of Helios",
+            "dissolution_date": None,
+            "parent_group": "http://127.0.0.1:8000/groups/2d9551a0-7e40-461e-aa49-e578eb608b65",
+            "start_year": None,
+            "alternate_name": "",
+            "creed": "",
+            "full_name": "board of Helios"
+        }
+
+        response = self.client.put('/groups/c2d3528a-46b3-4830-afa0-dc00831f040a', data=data)
+        self.assertEqual(403, response.status_code)
 
     def test_put_student_union(self):
-        pass
+        data = {
+            "theme": None,
+            "board_group": True,
+            "edition": None,
+            "days_in_existence": 8801,
+            "archived": False,
+            "founding_date": "1999-07-02",
+            "description": "Similique repudiandae minus sit corrupti doloribus nemo. Possimus magni dolorem.\nUnde nemo suscipit iure officia. Unde eius atque itaque placeat eius sapiente.",
+            "permissions": [
+                "board"
+            ],
+            "current_board": True,
+            "groupmemberships": [
+                {
+                    "url": "http://127.0.0.1:8000/group_memberships/1c9ff3f7-b098-4cd5-aa00-48b762ad398b",
+                    "full_name": "Femke Dries",
+                    "slug": "1c9ff3f7-b098-4cd5-aa00-48b762ad398b",
+                    "duty": "Chairman",
+                    "description": "",
+                    "date_joined": "2013-05-09",
+                    "date_left": None,
+                    "archived": False,
+                    "email": None,
+                    "order": 1,
+                    "profile": "http://127.0.0.1:8000/profiles/67dc393a-73fa-4cbe-aa7c-fe59d37ce630"
+                },
+                {
+                    "url": "http://127.0.0.1:8000/group_memberships/60127381-26e0-490f-ab89-816c573c17a2",
+                    "full_name": "Max van Boven",
+                    "slug": "60127381-26e0-490f-ab89-816c573c17a2",
+                    "duty": "Secretary",
+                    "description": "",
+                    "date_joined": "2017-11-10",
+                    "date_left": None,
+                    "archived": False,
+                    "email": None,
+                    "order": 1,
+                    "profile": "http://127.0.0.1:8000/profiles/a3709a0b-80dc-475a-9e9e-39b0239ffded"
+                },
+                {
+                    "url": "http://127.0.0.1:8000/group_memberships/2252aaf8-aea1-4c7b-af89-f02b75636f1e",
+                    "full_name": "Jonas Lorreijn",
+                    "slug": "2252aaf8-aea1-4c7b-af89-f02b75636f1e",
+                    "duty": "Treasurer",
+                    "description": "",
+                    "date_joined": "2019-02-16",
+                    "date_left": None,
+                    "archived": False,
+                    "email": "odaaya@hotmail.com",
+                    "order": 1,
+                    "profile": "http://127.0.0.1:8000/profiles/75b5beed-97c2-4b43-bf3f-6c7ba85b3a5c"
+                }
+            ],
+            "slug": "705f007c-dba5-4da6-9dd7-ba7c22af88bc",
+            "email": None,
+            "end_year": None,
+            "logo": None,
+            "url": "http://127.0.0.1:8000/groups/705f007c-dba5-4da6-9dd7-ba7c22af88bc",
+            "photo": None,
+            "number": 0,
+            "association": "http://127.0.0.1:8000/associations/student-union",
+            "short_name": "Board of SU",
+            "dissolution_date": None,
+            "parent_group": "http://127.0.0.1:8000/groups/dd0d1b61-e054-4495-b540-3a6c65a5f610",
+            "start_year": None,
+            "alternate_name": "College van Bestuur",
+            "creed": "",
+            "full_name": "board of Student Union"
+        }
+
+        response = self.client.put('/groups/705f007c-dba5-4da6-9dd7-ba7c22af88bc', data=data)
+        self.assertEqual(200, response.status_code)
 
     def test_patch_helios(self):
         response = self.client.get("/groups/c2d3528a-46b3-4830-afa0-dc00831f040a")
diff --git a/tests/MySU/group_membership.py b/tests/MySU/group_membership.py
index 6a17d198e11f5550d3f56af2a07f6156bdcc740b..a35a2382a59e3fde0ab41302a756450f6ef153b3 100644
--- a/tests/MySU/group_membership.py
+++ b/tests/MySU/group_membership.py
@@ -14,23 +14,57 @@ class GroupMembershipTestCase(APITestCase):
         self.client.force_authenticate(user=self.user)
 
     def test_put_helios(self):
+        # data = {
+        #     "group": "http://127.0.0.1:8000/groups/705f007c-dba5-4da6-9dd7-ba7c22af88bc",
+        #     "order": 1,
+        #     "archived": False,
+        #     "profile": "http://127.0.0.1:8000/profiles/a3709a0b-80dc-475a-9e9e-39b0239ffded",
+        #     "description": "",
+        #     "date_joined": "2017-11-10",
+        #     "duty": "Secretary",
+        #     "slug": "60127381-26e0-490f-ab89-816c573c17a2",
+        #     "email": None,
+        #     "full_name": "Max van Boden",
+        #     "url": "http://127.0.0.1:8000/group_memberships/60127381-26e0-490f-ab89-816c573c17a2",
+        #     "association": "http://127.0.0.1:8000/associations/student-union",
+        #     "date_left": None
+        # }
+        # response = self.client.put('/group_memberships/60127381-26e0-490f-ab89-816c573c17a2', data=data)
+        # self.assertEqual(200, response.status_code)
         pass
 
     def test_put_student_union(self):
-        pass
+        data = {
+            "group": "http://127.0.0.1:8000/groups/705f007c-dba5-4da6-9dd7-ba7c22af88bc",
+            "order": 1,
+            "archived": False,
+            "profile": "http://127.0.0.1:8000/profiles/67dc393a-73fa-4cbe-aa7c-fe59d37ce630",
+            "description": "",
+            "date_joined": "2013-05-09",
+            "duty": "Chairman",
+            "slug": "1c9ff3f7-b098-4cd5-aa00-48b762ad398b",
+            "email": None,
+            "full_name": "Femke Dries",
+            "url": "http://127.0.0.1:8000/group_memberships/1c9ff3f7-b098-4cd5-aa00-48b762ad398b",
+            "association": "http://127.0.0.1:8000/associations/student-union",
+            "date_left": None
+        }
 
+        response = self.client.put('/group_memberships/1c9ff3f7-b098-4cd5-aa00-48b762ad398b', data=data)
+        self.assertEqual(200, response.status_code)
+        pass
+    
     def test_patch_helios(self):
         response = self.client.get("/group_memberships/74c1ff41-3c0f-4037-a5cb-5230324adbae")
-        self.assertEqual(404, response.status_code, response.data)
-        # group_membership = response.data
-        # self.assertEqual(group_membership["order"], 1)
-        # self.assertEqual(group_membership["duty"], "Chairman")
-        # data = {
-        #     "order": 2,
-        #     "duty": "President"
-        # }
-        # response = self.client.patch("/group_memberships/74c1ff41-3c0f-4037-a5cb-5230324adbae", data=data)
-        # self.assertEqual(403, response.status_code, response.data)
+        group_membership = response.data
+        self.assertEqual(group_membership["order"], 1)
+        self.assertEqual(group_membership["duty"], "Chairman")
+        data = {
+            "order": 2,
+            "duty": "President"
+        }
+        response = self.client.patch("/group_memberships/74c1ff41-3c0f-4037-a5cb-5230324adbae", data=data)
+        self.assertEqual(403, response.status_code, response.data)
 
     def test_patch_student_union(self):
         response = self.client.get("/group_memberships/1c9ff3f7-b098-4cd5-aa00-48b762ad398b")
diff --git a/tests/MySU/profile.py b/tests/MySU/profile.py
index 2013f80cb0d138df26a993ca7abf19ce3919319c..652ff1cc571e2938a7feefed9d5b9408a39537a0 100644
--- a/tests/MySU/profile.py
+++ b/tests/MySU/profile.py
@@ -15,10 +15,68 @@ class ProfileTestCase(APITestCase):
         self.client.force_authenticate(user=self.user)
 
     def test_put_self(self):
-        pass
+        data = {
+            "url": "http://127.0.0.1:8000/profiles/75b5beed-97c2-4b43-bf3f-6c7ba85b3a5c",
+            "bank_account_name": "J. Lorrelijn",
+            "iban": "NL15RABO6359906732",
+            "bic": "RABONL2U",
+            "mine": True,
+            "phone_number": "+31701-845933",
+            "address": "Fienweg 212",
+            "zip_code": "4658 GW",
+            "city": "Winssen",
+            "country": "Netherlands",
+            "slug": "75b5beed-97c2-4b43-bf3f-6c7ba85b3a5c",
+            "last_modified": "2020-08-24T00:00:00Z",
+            "profilename": "Board Profile",
+            "photo": None,
+            "student_number": "s1234567",
+            "given_name": "Jonas",
+            "initials": "W",
+            "surname": "NotLorijn",
+            "email": "van-de-leemputlouise@zijlemans.com",
+            "dutch_speaking": True,
+            "gender": "Other",
+            "date_of_birth": "2004-07-22",
+            "phase": "Bachelor",
+            "read_and_agreed_to_privacy_policy": False,
+            "study": None
+        }
+
+        response = self.client.put('/profiles/75b5beed-97c2-4b43-bf3f-6c7ba85b3a5c', data=data)
+        self.assertEqual(200, response.status_code)
 
     def test_put_other(self):
-        pass
+        data = {
+            "url": "http://127.0.0.1:8000/profiles/be3f26fb-97d1-4270-8367-3e8539b3484d",
+            "bank_account_name": "",
+            "iban": "NL70INGB1979747032",
+            "bic": "INGBNL2A",
+            "mine": False,
+            "phone_number": "(057)-8926448",
+            "address": "Dylanosingel 22",
+            "zip_code": "4505 YB",
+            "city": "Vlodrop",
+            "country": "Netherlands",
+            "slug": "be3f26fb-97d1-4270-8367-3e8539b3484d",
+            "last_modified": "2020-08-24T00:00:00Z",
+            "profilename": "Ordinary User Profile",
+            "photo": None,
+            "student_number": "s7654321",
+            "given_name": "Nikki",
+            "initials": "E",
+            "surname": "Romijn",
+            "email": "zlansink@cornelissen.com",
+            "dutch_speaking": True,
+            "gender": "Other",
+            "date_of_birth": "1994-02-05",
+            "phase": "Bachelor",
+            "read_and_agreed_to_privacy_policy": False,
+            "study": None
+        }
+
+        response = self.client.put('/profiles/be3f26fb-97d1-4270-8367-3e8539b3484d', data=data)
+        self.assertEqual(403, response.status_code)
 
     def test_patch_self(self):
         response = self.client.get('/profiles/75b5beed-97c2-4b43-bf3f-6c7ba85b3a5c')
@@ -110,9 +168,6 @@ class ProfileTestCase(APITestCase):
         profile_count_post_post = Profile.objects.filter(user=2).count()
         self.assertEqual(profile_count_pre_post, profile_count_post_post, "Error: Number of profiles should not change")
 
-    def test_get_other(self):
-        pass
-
     def test_list(self):
         response = self.client.get('/profiles')
         self.assertEqual(200, response.status_code, "Error: {}, Input: List of all profiles".format(response.data))
diff --git a/tests/MySU/study.py b/tests/MySU/study.py
index ebbe5e3e5f4d73c83d790ab861e6fa8aa16baf1e..cd62663d281ce0af4aef3aa65a03da93785e9e33 100644
--- a/tests/MySU/study.py
+++ b/tests/MySU/study.py
@@ -13,15 +13,6 @@ class StudyTestCase(APITestCase):
         self.client = APIClient()
         self.client.force_authenticate(user=self.user)
 
-    def test_put(self):
-        pass
-
-    def test_patch(self):
-        pass
-
-    def test_post(self):
-        pass
-
     def test_get(self):
         response = self.client.get('/studies/89ac22dc-5a71-4fac-8af4-5844b7eb71a1')
         self.assertEqual(200, response.status_code, "Error: {}, Input: study pk 1".format(response.data))
diff --git a/tests/MySU/study_record.py b/tests/MySU/study_record.py
index 8188604ff8da3a65fec40d4bb553ea86d68aaa43..377442c61e393ac0d679e5b725154d0b80b9ef1c 100644
--- a/tests/MySU/study_record.py
+++ b/tests/MySU/study_record.py
@@ -1,5 +1,7 @@
 from rest_framework.test import APIClient
 from rest_framework.test import APITestCase
+from apps.MySU.models import StudyRecord
+from apps.MySU.serializers import StudyRecordSerializer
 
 from apps.MySU.models import User
 from tests.tests import fixtures
@@ -12,18 +14,12 @@ class StudyRecordsTestCase(APITestCase):
         self.user = User.objects.get(username='s1234567')
         self.client = APIClient()
         self.client.force_authenticate(user=self.user)
+        StudyRecord.objects.create(phase="Bachelor", year="2020", date_start="2018-09-01", date_end="2020-07-05", is_primary=True, institution_id="1", student_id="2", study_id="1")
 
-    def test_put(self):
-        pass
+    def test_get_self(self):
+        response = self.client.get('/studyrecords/89ac22dc-5a71-4fac-8af4-5844b7eb71a1')
+        self.assertEqual(200,response.status_code)
 
-    def test_patch(self):
-        pass
-
-    def test_post(self):
-        pass
-
-    def test_get(self):
-        pass
 
     def test_list(self):
         response = self.client.get('/studyrecords')
diff --git a/tests/MySU/user.py b/tests/MySU/user.py
index 4fd8bd958b2eaccfea6b0a5fcab6c201baf7e09d..457e27932cc1092af68a8b5ae57fc74fe99e3488 100644
--- a/tests/MySU/user.py
+++ b/tests/MySU/user.py
@@ -14,18 +14,14 @@ class UserTestCase(APITestCase):
         self.client.force_authenticate(user=self.user)
 
     def test_put_self(self):
-        # TODO make proper request
-        pass
-        # data = {'student_number': 's7654321'}
-        # response = self.client.put('/users/efc00c85-87a8-446d-ad71-2d2d07d4b588', data=data)
-        # self.assertEqual(400, response.status_code, "Error: {}, Input: Other student number".format(response.data))
+        data = {'student_number': 's7654321'}
+        response = self.client.put('/users/efc00c85-87a8-446d-ad71-2d2d07d4b588', data=data)
+        self.assertEqual(200, response.status_code, "Error: {}, Input: Other student number".format(response.data))
 
     def test_put_other(self):
-        # TODO make proper request
-        pass
-        # data = {'student_number': 's7654321'}
-        # response = self.client.put('/users/5b5742e6-b52b-4133-8151-a49d7b186026')
-        # self.assertEqual(404, response.status_code, "Error: {}, Input: Other student number".format(response.data))
+        data = {'student_number': 's7654321'}
+        response = self.client.put('/users/5b5742e6-b52b-4133-8151-a49d7b186026', data=data)
+        self.assertEqual(404, response.status_code, "Error: {}, Input: Other student number".format(response.data))
 
     def test_patch_self(self):
         data = {
@@ -43,9 +39,6 @@ class UserTestCase(APITestCase):
         response = self.client.patch('/users/5b5742e6-b52b-4133-8151-a49d7b186026', data=data)
         self.assertEqual(404, response.status_code, "Error: {}, Input: Other student number".format(response.data))
 
-    def test_post(self):
-        pass
-
     def test_get_self(self):
         response = self.client.get('/users/me')
         self.assertEqual(200, response.status_code, "Error: {}, Input: user via user/me".format(response.data))