def test_earlier_start(): act = get_base() matches = Activity.locate(act.start - timedelta(days=2), datetime.now(), ["Working on tic"]) eq_(2, len(matches)) assert act.key() in set((m.key() for m in matches))
def test_case_insensitive(): act = get_base() matches = Activity.locate(act.start, datetime.now(), ["working"]) eq_(1, len(matches))
def test_same_ending(): act = get_base() matches = Activity.locate(act.start, datetime.now(), ["on tic"]) eq_(2, len(matches)) assert act.key() in set((m.key() for m in matches))
def test_single_letter_difference(): act = get_base() matches = Activity.locate(act.start, datetime.now(), ["Working"]) eq_(1, len(matches)) eq_(act.key(), iter(matches).next().key())
def test_tag(): act = get_base() matches = Activity.locate(tags=["tic"]) eq_(3, len(matches)) assert act.key() in set((m.key() for m in matches))
def tearDown(self): self.data.teardown() for a in Activity.all(): a.delete() for p in UserPrefs.all(): p.delete()
def testEditDuration(self): self.act.stop = datetime.now() self.act.put() newstop = self.act.start + timedelta(hours=1) self.app.post("/activity/duration", {"key": self.key, 'value':"1 hours"}) eq_(newstop, Activity.get(self.key).stop)
def testRemoveTags(self): response = self.app.post("/activity/tags", {'key': self.key, 'value':''}) eq_([], Activity.get(self.key).tags)
def testAddTags(self): response = self.app.post("/activity/tags", {'key': self.key, 'value':'new tag values'}) eq_(['new', 'tag', 'values'], Activity.get(self.key).tags)
def testAgain(self): response = self.app.post("/activity/again", {'key': self.key}) response.mustcontain("true", self.act.name) assert Activity.all().filter("user ="******"name =", self.act.name).count() == 3
def testRename(self): response = self.app.post("/activity/rename", {'key': self.key, 'value':'new name'}) assert Activity.get(self.key).name == "new name"
def testRestart(self): self.act.stop = datetime.now() self.act.put() response = self.app.post("/activity/restart", {'key': self.key}) response.mustcontain("true", self.act.name) assert Activity.get(self.key).stop is None
def testStop(self): assert self.act.stop is None response = self.app.post('/activity/stop', {'key': self.key}) response.mustcontain("true", self.act.name) assert Activity.get(self.key) is not None
def testDelete(self): response = self.app.post('/activity/delete', {'key': self.key}) response.mustcontain("true") assert Activity.get(self.key) is None response = self.app.post('/activity/delete') response.mustcontain("false", "key must be given")
def test_multiple_names(): act = get_base() matches = Activity.locate(act.start, datetime.now(), ["Working", "Horking"]) eq_(2, len(matches))
def testEditStart(self): newstart = datetime(2008, 9, 17, 12, 15) self.app.post("/activity/start", {'key': self.key, 'value':newstart.strftime("%Y/%m/%d %H:%M")}) eq_(newstart, Activity.get(self.key).start)
def test_single_letter_missing(): act = get_base() matches = Activity.locate(act.start, datetime.now(), ["orking"]) eq_(0, len(matches))
def testLocalstart(self): pref = prefs() pref.tzname = "US/Pacific" pref.put() eq_("US/Pacific", Activity.all()[0].localstart.tzinfo.zone)