From bf8a22a4fded243ac836e3754d98b88eda113427 Mon Sep 17 00:00:00 2001
From: Endrawan Andika Wicaksana <endrawan.andika@ui.ac.id>
Date: Fri, 6 Dec 2019 16:32:08 +0700
Subject: [PATCH 1/2] Create test for incorrect company size

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

diff --git a/core/tests/test_accounts.py b/core/tests/test_accounts.py
index 8debc4c7..5c4a6626 100755
--- a/core/tests/test_accounts.py
+++ b/core/tests/test_accounts.py
@@ -493,6 +493,12 @@ class ProfileUpdateTests(APITestCase):
         response = self.client.patch(url, {'size': '1000'}, format='multipart')
         self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
 
+        response = self.client.patch(url, {'size': '-1'}, format='multipart')
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
+        response = self.client.patch(url, {'size': 'tulisan'}, format='multipart')
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
         response = self.client.patch(url, {'website': 'www.huehue.com'}, format='multipart')
         self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
 
-- 
GitLab


From e16a7eecf6169eb74ae560cd7cfd253af486a533 Mon Sep 17 00:00:00 2001
From: Endrawan Andika Wicaksana <endrawan.andika@ui.ac.id>
Date: Fri, 6 Dec 2019 16:40:04 +0700
Subject: [PATCH 2/2] Implement validator for company size

---
 core/migrations/0005_auto_20191206_1634.py | 19 +++++++++++++++++++
 core/models/accounts.py                    |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 core/migrations/0005_auto_20191206_1634.py

diff --git a/core/migrations/0005_auto_20191206_1634.py b/core/migrations/0005_auto_20191206_1634.py
new file mode 100644
index 00000000..91b48eae
--- /dev/null
+++ b/core/migrations/0005_auto_20191206_1634.py
@@ -0,0 +1,19 @@
+# Generated by Django 2.2.8 on 2019-12-06 09:34
+
+import django.core.validators
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0004_auto_20191206_1510'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='company',
+            name='size',
+            field=models.IntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)]),
+        ),
+    ]
diff --git a/core/models/accounts.py b/core/models/accounts.py
index 6077d210..2a8b1341 100755
--- a/core/models/accounts.py
+++ b/core/models/accounts.py
@@ -167,7 +167,7 @@ class Company(models.Model):
                             validators=[validate_image_file_extension])
     address = models.CharField(max_length=1000, blank=True, null=True)
     category = models.CharField(max_length=140, default="Belum ada kategori perusahaan")
-    size = models.CharField(max_length=10, default=0, null=True, blank=True)
+    size = models.IntegerField(default=1, validators=[MinValueValidator(1)])
     website = models.CharField(max_length=100, default="Belum ada link website")
     linkedin_url = models.URLField(max_length=200, blank=True, null=True)
 
-- 
GitLab