From 734267266d3b537ffbd313bcf539a08dcecaaa6b Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Mon, 22 Oct 2018 12:46:26 +0200
Subject: [PATCH] added test for get_worker_availability

---
 smash/web/tests/api_views/test_worker.py | 31 +++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/smash/web/tests/api_views/test_worker.py b/smash/web/tests/api_views/test_worker.py
index c146d560..1d127e96 100644
--- a/smash/web/tests/api_views/test_worker.py
+++ b/smash/web/tests/api_views/test_worker.py
@@ -1,6 +1,6 @@
 # coding=utf-8
 import json
-
+import datetime
 from django.test import RequestFactory
 from django.urls import reverse
 
@@ -85,3 +85,32 @@ class TestWorkerApi(LoggedInWithWorkerTestCase):
         for entry in entries:
             count += len(entry["workers"])
         self.assertTrue(count > 0)
+    def test_get_worker_availability(self):
+        today = datetime.datetime.today().replace(hour=8, minute=00, second=0, microsecond=0)
+        availability = Availability.objects.create(person=self.worker, day_number=today.isoweekday(),
+                                                   available_from="8:00", available_till="16:00")
+        availability.save()
+        params={}
+        params['start_date'] = today.strftime("%Y-%m-%d-%H-%M")
+        params['end_date']   = (today+datetime.timedelta(hours=4)).strftime("%Y-%m-%d-%H-%M")
+        params['worker_id']  = self.worker.id
+        response = self.client.get(reverse('web.api.get_worker_availability'), data=params)
+        availability = json.loads(response.content)['availability']
+        self.assertEqual(availability, 100.0)
+        today = today.replace(hour=16, minute=1)
+        params={}
+        params['start_date'] = today.strftime("%Y-%m-%d-%H-%M")
+        params['end_date']   = (today+datetime.timedelta(hours=4)).strftime("%Y-%m-%d-%H-%M")
+        params['worker_id']  = self.worker.id
+        response = self.client.get(reverse('web.api.get_worker_availability'), data=params)
+        availability = json.loads(response.content)['availability']
+        self.assertEqual(availability, 0.0)
+        today = today.replace(hour=14, minute=0)
+        params={}
+        params['start_date'] = today.strftime("%Y-%m-%d-%H-%M")
+        params['end_date']   = (today+datetime.timedelta(hours=4)).strftime("%Y-%m-%d-%H-%M")
+        params['worker_id']  = self.worker.id
+        response = self.client.get(reverse('web.api.get_worker_availability'), data=params)
+        availability = json.loads(response.content)['availability']
+        self.assertEqual(availability, 50.0)
+        
\ No newline at end of file
-- 
GitLab