Skip to content

Commit

Permalink
Fix unit tests and 'approved' check
Browse files Browse the repository at this point in the history
I misremembered what the `status` column was called and was accidentally checking against a UTCDateTime column. Whoops. Also, turns out you can't monkeypatch the `c` object if you're working with a request_cached_property.
  • Loading branch information
kitsuta committed Jul 13, 2017
1 parent d67a7df commit 767a510
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
4 changes: 2 additions & 2 deletions uber/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,13 +139,13 @@ def DEALER_REG_OPEN(self):

@property
def DEALER_REG_SOFT_CLOSED(self):
return self.AFTER_DEALER_REG_DEADLINE or self.DEALER_APPS > self.MAX_DEALER_APPS \
return self.AFTER_DEALER_REG_DEADLINE or self.DEALER_APPS >= self.MAX_DEALER_APPS \
if self.MAX_DEALER_APPS and not self.HARDCORE_OPTIMIZATIONS_ENABLED else self.AFTER_DEALER_REG_DEADLINE

@request_cached_property
def DEALER_APPS(self):
with sa.Session() as session:
return session.query(sa.Group).filter(sa.Group.tables > 0, sa.Group.cost > 0, sa.Group.approved == self.UNAPPROVED)
return session.query(sa.Group).filter(sa.Group.tables > 0, sa.Group.cost > 0, sa.Group.status == self.UNAPPROVED).count()

@request_cached_property
def BADGES_SOLD(self):
Expand Down
25 changes: 16 additions & 9 deletions uber/tests/models/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ def test_job_locations_without_food_prep(self, monkeypatch):
monkeypatch.setattr(c, 'JOB_LOCATIONS', job_locations)
assert not c.STAFF_GET_FOOD


class TestDealerConfig:
def test_dealer_reg_open(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_START', localized_now() - timedelta(days=1))
Expand All @@ -158,13 +159,13 @@ def test_dealer_reg_open(self, monkeypatch):

def test_dealer_reg_not_soft_closed(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_DEADLINE', localized_now() + timedelta(days=1))
monkeypatch.setattr(c, 'DEALER_APPS', 10)
monkeypatch.setattr(uber.config.Config, 'DEALER_APPS', 10)
monkeypatch.setattr(c, 'MAX_DEALER_APPS', 100)
assert not c.DEALER_REG_SOFT_CLOSED

def test_dealer_reg_not_soft_closed_no_max(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_DEADLINE', localized_now() + timedelta(days=1))
monkeypatch.setattr(c, 'DEALER_APPS', 10)
monkeypatch.setattr(uber.config.Config, 'DEALER_APPS', 10)
monkeypatch.setattr(c, 'MAX_DEALER_APPS', 0)
assert not c.DEALER_REG_SOFT_CLOSED

Expand All @@ -175,51 +176,57 @@ def test_dealer_reg_soft_closed_optimizations(self, monkeypatch):

def test_dealer_reg_not_soft_closed_optimizations(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_DEADLINE', localized_now() + timedelta(days=1))
monkeypatch.setattr(c, 'DEALER_APPS', 10)
monkeypatch.setattr(uber.config.Config, 'DEALER_APPS', 10)
monkeypatch.setattr(c, 'MAX_DEALER_APPS', 1)
monkeypatch.setattr(c, 'HARDCORE_OPTIMIZATIONS_ENABLED', True)
assert not c.DEALER_REG_SOFT_CLOSED

def test_dealer_reg_soft_closed_over_max(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_DEADLINE', localized_now() + timedelta(days=1))
monkeypatch.setattr(c, 'DEALER_APPS', 10)
monkeypatch.setattr(uber.config.Config, 'DEALER_APPS', 10)
monkeypatch.setattr(c, 'MAX_DEALER_APPS', 1)
assert c.DEALER_REG_SOFT_CLOSED

def test_dealer_reg_soft_closed_at_max(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_DEADLINE', localized_now() + timedelta(days=1))
monkeypatch.setattr(uber.config.Config, 'DEALER_APPS', 1)
monkeypatch.setattr(c, 'MAX_DEALER_APPS', 1)
assert c.DEALER_REG_SOFT_CLOSED

def test_dealer_reg_soft_closed_after_deadline(self, monkeypatch):
monkeypatch.setattr(c, 'DEALER_REG_DEADLINE', localized_now() - timedelta(days=1))
monkeypatch.setattr(c, 'DEALER_APPS', 10)
monkeypatch.setattr(uber.config.Config, 'DEALER_APPS', 10)
monkeypatch.setattr(c, 'MAX_DEALER_APPS', 100)
assert c.DEALER_REG_SOFT_CLOSED

def test_dealer_app(self):
session = Session().session
with request_cached_context():
session.add(Group(tables=1, cost=10, approved=c.UNAPPROVED))
session.add(Group(tables=1, cost=10, status=c.UNAPPROVED))
session.commit()

assert c.DEALER_APPS == 1

def test_waitlisted_dealer_not_app(self):
session = Session().session
with request_cached_context():
session.add(Group(tables=1, cost=10, approved=c.WAITLISTED))
session.add(Group(tables=1, cost=10, status=c.WAITLISTED))
session.commit()

assert c.DEALER_APPS == 0

def test_free_dealer_no_app(self):
session = Session().session
with request_cached_context():
session.add(Group(tables=1, cost=0, approved=c.UNAPPROVED))
session.add(Group(tables=1, cost=0, auto_recalc=False, status=c.UNAPPROVED))
session.commit()

assert c.DEALER_APPS == 0

def test_not_a_dealer_no_app(self):
session = Session().session
with request_cached_context():
session.add(Group(tables=0, cost=10, approved=c.UNAPPROVED))
session.add(Group(tables=0, cost=10, status=c.UNAPPROVED))
session.commit()

assert c.DEALER_APPS == 0

0 comments on commit 767a510

Please sign in to comment.