Skip to content

Commit

Permalink
Merge 5ed965d into c4edba4
Browse files Browse the repository at this point in the history
  • Loading branch information
fanglinfang committed May 28, 2019
2 parents c4edba4 + 5ed965d commit 6837aa4
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
3 changes: 3 additions & 0 deletions uw_hrp/dao.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ def service_name(self):

def service_mock_paths(self):
return [abspath(os.path.join(dirname(__file__), "resources"))]

def is_using_file_dao(self):
return self.get_implementation().is_mock()
16 changes: 13 additions & 3 deletions uw_hrp/models.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
from datetime import datetime, timezone
from datetime import datetime, timedelta, timezone
from dateutil.parser import parse
import json
from restclients_core import models
from uw_hrp.dao import HRP_DAO


def get_now():
# return time-zone-aware datetime
return datetime.now(timezone.utc)


def date_to_str(d_obj):
Expand Down Expand Up @@ -122,7 +128,7 @@ class WorkerPosition(models.Model):
title = models.CharField(max_length=128, null=True, default=None)

def is_active_position(self):
now = datetime.now(timezone.utc)
now = get_now() + timedelta(days=1)
return self.end_date is None or self.end_date > now

def to_json(self):
Expand Down Expand Up @@ -173,7 +179,11 @@ def __init__(self, *args, **kwargs):
self.start_date = parse_date(data["PositionStartDate"])

if data.get("PositionEndDate") is not None:
self.end_date = parse_date(data["PositionEndDate"])
if (HRP_DAO().is_using_file_dao() and
data["PositionEndDate"] == "future"):
self.end_date = get_now() + timedelta(days=30)
else:
self.end_date = parse_date(data["PositionEndDate"])

if data.get("PositionSupervisor") is not None:
self.supervisor_eid = data["PositionSupervisor"]["EmployeeID"]
Expand Down
1 change: 1 addition & 0 deletions uw_hrp/tests/test_dao.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ def test_dao(self):
dao = HRP_DAO()
self.assertEqual(dao.service_name(), "hrpws")
self.assertTrue(len(dao.service_mock_paths()) > 0)
self.assertTrue(dao.is_using_file_dao())
7 changes: 6 additions & 1 deletion uw_hrp/tests/test_models.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from unittest import TestCase
from datetime import datetime, timedelta, timezone
from uw_hrp.models import (
EmploymentStatus, JobProfile, SupervisoryOrganization,
Worker, WorkerPosition, parse_date)
Expand Down Expand Up @@ -129,6 +128,12 @@ def test_worker_position(self):
self.assertFalse(work_position.is_active_position())
self.assertIsNotNone(str(work_position))

work_position = WorkerPosition(
data={"PositionStartDate": "1994-10-01T00:00:00.000Z",
"PositionEndDate": "future",
"PositionFTEPercent": "100.00000"})
self.assertTrue(work_position.is_active_position())

def test_worker(self):
worker = Worker(netid='none',
regid="10000000",
Expand Down

0 comments on commit 6837aa4

Please sign in to comment.