mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-06-26 10:54:28 +02:00
#21 Use open interval when no id given
- Add test - Special handling if database empty
This commit is contained in:
parent
4afd14ee2e
commit
c595132a9c
2 changed files with 22 additions and 1 deletions
|
@ -76,7 +76,17 @@ int CmdTag (
|
|||
|
||||
if (ids.empty ())
|
||||
{
|
||||
throw std::string ("At least one ID must be specified. See 'timew help tag'.");
|
||||
if (tracked.empty ())
|
||||
{
|
||||
throw std::string ("There is no active time tracking.");
|
||||
}
|
||||
|
||||
if (!tracked.back ().range.is_open ())
|
||||
{
|
||||
throw std::string ("At least one ID must be specified. See 'timew help tag'.");
|
||||
}
|
||||
|
||||
ids.insert (1);
|
||||
}
|
||||
|
||||
// Apply tags to ids.
|
||||
|
|
11
test/tag.t
11
test/tag.t
|
@ -49,6 +49,17 @@ class TestTag(TestCase):
|
|||
code, out, err = self.t("tag @1 foo")
|
||||
self.assertIn('Added foo to @1', out)
|
||||
|
||||
def test_should_use_default_on_missing_id_and_active_time_tracking(self):
|
||||
"""Use open interval on missing id and active time tracking"""
|
||||
self.t("track yesterday for 1hour foo")
|
||||
self.t("start 30min ago bar")
|
||||
code, out, err = self.t("tag baz")
|
||||
self.assertIn("Added baz to @1", out)
|
||||
|
||||
def test_should_fail_on_missing_id_and_empty_database(self):
|
||||
"""Missing id on empty database is an error"""
|
||||
code, out, err = self.t.runError("tag foo")
|
||||
self.assertIn("There is no active time tracking.", err)
|
||||
|
||||
def test_should_fail_on_missing_id_and_inactive_time_tracking(self):
|
||||
"""Missing id on inactive time tracking is an error"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue