def test_start_entry_with_current_running(self):
DESCRIPTION = 'EXAMPLE'
startTime = timezone.now()
currentEntry = TimeEntry(user=self.TestUser, description=DESCRIPTION, start=startTime)
currentEntry.save()
NEWDESCRIPTION = "NEW DESCRIPTION"
url = reverse("api:time-entry-start")
data = {'description': NEWDESCRIPTION }
response = self.client.post(url, data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['description'], NEWDESCRIPTION)
self.assertEqual(response.data['stop'], None)
self.assertGreater(dateparse.parse_datetime(response.data['start']), startTime)
self.assertGreater(response.data['duration'], 0)
url = reverse("api:time-entry-get", args=(currentEntry.id,))
response = self.client.get(url, data)
response_start_time = dateparse.parse_datetime(response.data['start'])
response_stop_time = dateparse.parse_datetime(response.data['stop'])
response_duration = response.data['duration']
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['description'], DESCRIPTION)
self.assertEqual(response.data['user'], self.TestUser.id)
self.assertEqual(response_start_time, startTime)
self.assertGreater(response_stop_time, response_start_time)
self.assertEqual(response_duration,(response_stop_time- response_start_time).total_seconds())
response = self.client.get(url, data)
self.assertEqual(response_duration, response.data['duration'], "We checked the duration twice but it changed from %s to %s" % (response_duration, response.data['duration']))
评论列表
文章目录