From 3f881536b98f13d11a20346397f1868d46d10603 Mon Sep 17 00:00:00 2001
From: Wildan Fahmi Gunawan <wildanfahmigunawan@gmail.com>
Date: Fri, 15 Nov 2019 21:31:47 +0700
Subject: [PATCH 1/3] fix linkedin_url_pattern

---
 core/views/accounts.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/core/views/accounts.py b/core/views/accounts.py
index 77cf9506..b27f1ed8 100755
--- a/core/views/accounts.py
+++ b/core/views/accounts.py
@@ -65,7 +65,7 @@ class StudentViewSet(viewsets.ModelViewSet):
         """
         user = self.get_object()
         github_url_pattern = "^(https:\/\/www\.|https:\/\/)(github.com\/)([a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38})(\/)?$"
-        linkedin_url_pattern = "^(https:\/\/www\.)(linkedin.com)(\/in)(\/[a-zA-Z0-9]*)(\/)?$"
+        linkedin_url_pattern = "^(https:\/\/www\.|https:\/\/)(linkedin.com)(\/in)(\/[a-zA-Z0-9]*)(\/)?$"
         hackerrank_url_pattern = "^(https:\/\/www\.)(hackerrank.com)(\/[a-zA-Z0-9]*)(\/)?$"
 
         if 'pdf_sertifikat' in request.data.keys():
-- 
GitLab


From cb5cd5ea606f5ad9fb586971f53a169bf95e8873 Mon Sep 17 00:00:00 2001
From: Wildan Fahmi Gunawan <wildanfahmigunawan@gmail.com>
Date: Fri, 15 Nov 2019 21:41:07 +0700
Subject: [PATCH 2/3] [RED] linkedin_url_pattern without www and id

---
 core/tests/test_accounts.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/core/tests/test_accounts.py b/core/tests/test_accounts.py
index 7dbc8e3f..e0e2c176 100755
--- a/core/tests/test_accounts.py
+++ b/core/tests/test_accounts.py
@@ -125,6 +125,16 @@ class ProfileUpdateTests(APITestCase):
         self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual(response.data.get('linkedin_url'), 'https://www.linkedin.com/in/jojo/')
 
+        url = '/api/students/' + str(student_id) + "/profile/"
+        response = self.client.patch(url, {'linkedin_url': 'https://linkedin.com/in/jojo/'}, format='multipart')
+        self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
+        self.assertEqual(response.data.get('linkedin_url'), 'https://linkedin.com/in/jojo/')
+
+        url = '/api/students/' + str(student_id) + "/profile/"
+        response = self.client.patch(url, {'linkedin_url': 'https://id.linkedin.com/in/jojo/'}, format='multipart')
+        self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
+        self.assertEqual(response.data.get('linkedin_url'), 'https://id.linkedin.com/in/jojo/')
+
         url = '/api/students/' + str(student_id) + "/profile/"
         response = self.client.patch(url, {'linkedin_url': 'https://www.linkedin.com/jojo/'}, format='multipart')
         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-- 
GitLab


From 73452a7b0f55d82155be51b09250f4dbcdbd9ab9 Mon Sep 17 00:00:00 2001
From: Wildan Fahmi Gunawan <wildanfahmigunawan@gmail.com>
Date: Fri, 15 Nov 2019 21:42:30 +0700
Subject: [PATCH 3/3] [GREEN] linkedin_url_pattern without www and id

---
 core/views/accounts.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/core/views/accounts.py b/core/views/accounts.py
index b27f1ed8..bef0122c 100755
--- a/core/views/accounts.py
+++ b/core/views/accounts.py
@@ -65,7 +65,7 @@ class StudentViewSet(viewsets.ModelViewSet):
         """
         user = self.get_object()
         github_url_pattern = "^(https:\/\/www\.|https:\/\/)(github.com\/)([a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38})(\/)?$"
-        linkedin_url_pattern = "^(https:\/\/www\.|https:\/\/)(linkedin.com)(\/in)(\/[a-zA-Z0-9]*)(\/)?$"
+        linkedin_url_pattern = "^(https:\/\/www\.|https:\/\/|https:\/\/id\.)(linkedin.com)(\/in)(\/[a-zA-Z0-9]*)(\/)?$"
         hackerrank_url_pattern = "^(https:\/\/www\.)(hackerrank.com)(\/[a-zA-Z0-9]*)(\/)?$"
 
         if 'pdf_sertifikat' in request.data.keys():
-- 
GitLab