Exemple #1
0
        public void GetDetailedReportSince()
        {
            var timeEntryService = new TimeEntryService(Constants.ApiToken);

            for (int i = 0; i < 6; i++)
            {
                var timeEntry = new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Description = "Test Desc" + DateTime.Now.Ticks,
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    ProjectId   = DefaultProjectId,
                    WorkspaceId = DefaultWorkspaceId
                };
                var expTimeEntry = timeEntryService.Add(timeEntry);
                Assert.IsNotNull(expTimeEntry);
            }

            var standardParams = new DetailedReportParams()
            {
                UserAgent   = "TogglAPI.Net",
                WorkspaceId = DefaultWorkspaceId
            };

            var result = ReportService.Detailed(standardParams);

            Assert.AreEqual(result.Data.Count, 6);
            Assert.AreEqual(result.TotalCount, 6);

            var te = new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TimeEntryTestAdd",
                Description = "Test Desc" + DateTime.Now.Ticks,
                Duration    = 900,
                Start       = DateTime.Now.AddDays(-7).ToIsoDateStr(),
                Stop        = DateTime.Now.AddDays(-7).AddMinutes(20).ToIsoDateStr(),
                ProjectId   = DefaultProjectId,
                WorkspaceId = DefaultWorkspaceId
            };
            var expTe = timeEntryService.Add(te);

            Assert.IsNotNull(expTe);

            result = ReportService.Detailed(standardParams);
            Assert.AreEqual(result.Data.Count, 6);
            Assert.AreEqual(result.TotalCount, 6);

            result = ReportService.Detailed(new DetailedReportParams()
            {
                UserAgent   = "test_api",
                WorkspaceId = DefaultWorkspaceId,
                Since       = DateTime.Now.AddDays(-7).ToIsoDateStr()
            });
            Assert.AreEqual(result.Data.Count, 7);
            Assert.AreEqual(result.TotalCount, 7);
        }
        public void GetTimeEntriesByDateRange()
        {
            var startDate = DateTime.Now.AddMonths(-2);
            var endDate   = DateTime.Now.AddMonths(-1);

            for (int i = 0; i < 3; i++)
            {
                var te = TimeEntryService.Add(new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TogglAPI.Net",
                    Duration    = 900,
                    Start       = startDate.AddMonths(i).ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId
                });
                Assert.IsNotNull(te);
            }

            var rte = new TimeEntryParams {
                StartDate = startDate, EndDate = endDate
            };

            Assert.AreEqual(2, TimeEntryService.List(rte).Count());
            rte = new TimeEntryParams {
                StartDate = startDate, EndDate = DateTime.Now
            };
            Assert.AreEqual(3, TimeEntryService.List(rte).Count());
        }
        public void Edit()
        {
            var timeEntry = TimeEntryService.Add(new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TogglAPI.Net",
                Duration    = 900,
                Start       = DateTime.Now.ToIsoDateStr(),
                WorkspaceId = DefaultWorkspaceId
            });

            Assert.IsNotNull(timeEntry);

            var loadedTimeEntry = TimeEntryService.Get(timeEntry.Id.Value);

            Assert.IsNotNull(loadedTimeEntry);

            loadedTimeEntry.Duration = 1200;
            var editedTimeEntry = TimeEntryService.Edit(loadedTimeEntry);

            Assert.AreEqual(timeEntry.Id, editedTimeEntry.Id);
            Assert.AreEqual(timeEntry.IsBillable, editedTimeEntry.IsBillable);
            Assert.AreEqual(timeEntry.CreatedWith, editedTimeEntry.CreatedWith);
            Assert.AreEqual(loadedTimeEntry.Duration, editedTimeEntry.Duration);
            Assert.AreEqual(timeEntry.WorkspaceId, editedTimeEntry.WorkspaceId);
        }
Exemple #4
0
        public void GetDetailedReport()
        {
            for (int i = 0; i < 6; i++)
            {
                var expTimeEntry = TimeEntryService.Add(new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    ProjectId   = DefaultProjectId,
                    WorkspaceId = DefaultWorkspaceId
                });
                Assert.IsNotNull(expTimeEntry);
            }

            var standardParams = new DetailedReportParams()
            {
                UserAgent   = "TogglAPI.Net",
                WorkspaceId = DefaultWorkspaceId,
                Since       = DateTime.Now.AddYears(-1).ToIsoDateStr()
            };

            var result = ReportService.Detailed(standardParams);

            Assert.AreEqual(result.Data.Count, 6);
            Assert.AreEqual(result.TotalCount, 6);
        }
        public void GetDashboard()
        {
            var expTimeEntry = TimeEntryService.Add(new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TimeEntryTestAdd",
                Description = "Test",
                Duration    = 900,
                Start       = DateTime.Now.ToIsoDateStr(),
                Stop        = DateTime.Now.AddMinutes(20).ToIsoDateStr(),
                ProjectId   = DefaultProjectId,
                WorkspaceId = DefaultWorkspaceId,
                TagNames    = new List <string> {
                    Guid.NewGuid().ToString(), Guid.NewGuid().ToString()
                }
            });

            Assert.IsNotNull(expTimeEntry);

            var currentUser = UserService.GetCurrent();

            Assert.IsNotNull(currentUser);
            Assert.IsNotNull(currentUser.DefaultWorkspaceId);

            var result = DashboardService.Get((int)currentUser.DefaultWorkspaceId);

            Assert.IsNotNull(result);
        }
Exemple #6
0
        /// <summary>
        /// テスト用メソッド
        /// </summary>
        public void Test()
        {
            TimeEntry te2 = new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TogglAPI.Net",
                Description = "Test",
                ProjectId   = 150055033,
                Duration    = 1200,
                Start       = DateTime.Now.ToIsoDateStr(),
                Stop        = DateTime.Now.AddMinutes(10).ToIsoDateStr(),
                WorkspaceId = defaultWorkspaceID
            };

            timeEntryService.Add(te2);
        }
        public void GetTimeEntriesByTaskId()
        {
            var task1 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task1",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task1);

            var task2 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task2",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task2);

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = TimeEntryService.Add(new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TogglAPI.Net",
                    Duration    = 900,
                    Start       = DateTime.Now.ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task1.Id
                });

                Assert.IsNotNull(timeEntry);
            }

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = TimeEntryService.Add(new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TogglAPI.Net",
                    Duration    = 900,
                    Start       = DateTime.Now.ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task2.Id
                });

                Assert.IsNotNull(timeEntry);
            }

            Assert.AreEqual(3, TimeEntryService.List().Count(te => te.TaskId == task1.Id));
            Assert.AreEqual(3, TimeEntryService.List().Count(te => te.TaskId == task2.Id));
        }
        public void Start()
        {
            var timeEntry = TimeEntryService.Add(new TimeEntry()
            {
                CreatedWith = "TogglAPI.Net",
                Description = "Start a new task",
                WorkspaceId = DefaultWorkspaceId
            });

            Assert.IsNotNull(timeEntry);
        }
        public void Add()
        {
            var tags = new List <string>();

            tags.Add("one");

            var act = new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TimeEntryTestAdd",
                Description = "Test Desc" + DateTime.Now.Ticks,
                Duration    = 900,
                Start       = DateTime.Now.ToIsoDateStr(),
                Stop        = DateTime.Now.AddMinutes(20).ToIsoDateStr(),
                ProjectId   = Constants.DefaultProjectId,
                TagNames    = tags,
                WorkspaceId = Constants.DefaultWorkspaceId
            };

            var exp = timeEntrySrv.Add(act);

            Assert.GreaterOrEqual(exp.Id, 0);
        }
Exemple #10
0
        public void Add()
        {
            var timeEntry = TimeEntryService.Add(new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TogglAPI.Net",
                Duration    = 900,
                Start       = DateTime.Now.ToIsoDateStr(),
                Stop        = DateTime.Now.AddMinutes(10).ToIsoDateStr(),
                WorkspaceId = DefaultWorkspaceId
            });

            Assert.IsNotNull(timeEntry);
            Assert.AreEqual(1, TimeEntryService.List().Count());
        }
Exemple #11
0
        public void Delete()
        {
            var timeEntry = TimeEntryService.Add(new TimeEntry()
            {
                IsBillable  = true,
                CreatedWith = "TogglAPI.Net",
                Duration    = 900,
                Start       = DateTime.Now.ToIsoDateStr(),
                WorkspaceId = DefaultWorkspaceId
            });

            Assert.IsNotNull(timeEntry);
            Assert.AreEqual(1, TimeEntryService.List().Count());
            Assert.IsTrue(TimeEntryService.Delete(timeEntry.Id.Value));
            Assert.AreEqual(0, TimeEntryService.List().Count());
        }
Exemple #12
0
        public void CreateTimeEntry(string workspaceName, DateTime from, DateTime to, string description)
        {
            var _workspace = _workspaceService.List().FirstOrDefault(f => f.Name == workspaceName);
            var result     = _timeEntryService.Add(new TimeEntry
            {
                WorkspaceId = _workspace.Id,
                CreatedWith = "togglhelper",
                Start       = from.ToIsoDateStr(),
                Stop        = to.ToIsoDateStr(),
                Duration    = (long)to.Subtract(from).TotalSeconds,
                Description = description
            });

            if (result != null)
            {
                Console.WriteLine($"created time entry \"{description}\" for {to.Subtract(from).TotalHours} hours at {from.ToShortDateString()}");
            }
        }
        public void GetCurrentChangedTest()
        {
            var t = new UserService();


            var teSrv = new TimeEntryService();

            teSrv.Add(new TimeEntry {
                IsBillable  = true,
                CreatedWith = "TimeEntryTestAdd",
                Description = "Test Desc" + DateTime.Now.Ticks,
                Duration    = 900,
                Start       = DateTime.Now.ToIsoDateStr(),
                Stop        = DateTime.Now.AddMinutes(20).ToIsoDateStr(),
                ProjectId   = Constants.DefaultProjectId,
                WorkspaceId = Constants.DefaultWorkspaceId
            });

            var obj = t.GetCurrentChanged(DateTime.Now.AddSeconds(-5));

            Assert.AreEqual(Constants.DefaultUserId, obj.Id);
            Assert.Greater(obj.TimeEntries.Count(), 0);
        }
        public void MergeMoreThanTwoTasks()
        {
            var task1 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task1",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task1);

            var task2 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task2",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task2);

            var task3 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task3",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task3);

            var timeEntryService = new TimeEntryService(Constants.ApiToken);

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Description = "Test Desc" + DateTime.Now.Ticks,
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task1.Id
                };
                var expTimeEntry = timeEntryService.Add(timeEntry);
                Assert.IsNotNull(expTimeEntry);
            }

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Description = "Test Desc" + DateTime.Now.Ticks,
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task2.Id
                };
                var expTimeEntry = timeEntryService.Add(timeEntry);
                Assert.IsNotNull(expTimeEntry);
            }

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Description = "Test Desc" + DateTime.Now.Ticks,
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task3.Id
                };
                var expTimeEntry = timeEntryService.Add(timeEntry);
                Assert.IsNotNull(expTimeEntry);
            }

            Assert.AreEqual(3, TimeEntryService.List().Count(te => te.TaskId == task1.Id.Value));
            Assert.AreEqual(3, TimeEntryService.List().Count(te => te.TaskId == task2.Id.Value));
            Assert.AreEqual(3, TimeEntryService.List().Count(te => te.TaskId == task3.Id.Value));

            TaskService.Merge(task1.Id.Value, new [] { task2.Id.Value, task3.Id.Value }, DefaultWorkspaceId);

            Assert.AreEqual(9, TimeEntryService.List().Count(te => te.TaskId == task1.Id.Value));
            Assert.AreEqual(0, TimeEntryService.List().Count(te => te.TaskId == task2.Id.Value));
            Assert.AreEqual(0, TimeEntryService.List().Count(te => te.TaskId == task3.Id.Value));
            Assert.IsFalse(WorkspaceService.Tasks(DefaultWorkspaceId).Select(t => t.Id).Contains(task2.Id));
            Assert.IsFalse(WorkspaceService.Tasks(DefaultWorkspaceId).Select(t => t.Id).Contains(task3.Id));
        }
Exemple #15
0
        public void GetTimeEntriesByTaskId()
        {
            var task1 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task1",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task1);

            var task2 = TaskService.Add(new Task
            {
                IsActive         = true,
                Name             = "task2",
                EstimatedSeconds = 3600,
                WorkspaceId      = DefaultWorkspaceId,
                ProjectId        = DefaultProjectId
            });

            Assert.IsNotNull(task2);

            var timeEntryService = new TimeEntryService(Constants.ApiToken);

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Description = "Test Desc" + DateTime.Now.Ticks,
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task1.Id
                };
                var expTimeEntry = timeEntryService.Add(timeEntry);
                Assert.IsNotNull(expTimeEntry);
            }

            for (int i = 0; i < 3; i++)
            {
                var timeEntry = new TimeEntry()
                {
                    IsBillable  = true,
                    CreatedWith = "TimeEntryTestAdd",
                    Description = "Test Desc" + DateTime.Now.Ticks,
                    Duration    = 900,
                    Start       = DateTime.Now.AddDays(-i).ToIsoDateStr(),
                    Stop        = DateTime.Now.AddDays(-i).AddMinutes(20).ToIsoDateStr(),
                    WorkspaceId = DefaultWorkspaceId,
                    TaskId      = task2.Id
                };
                var expTimeEntry = timeEntryService.Add(timeEntry);
                Assert.IsNotNull(expTimeEntry);
            }

            var standardParams = new DetailedReportParams()
            {
                UserAgent   = "TogglAPI.Net",
                WorkspaceId = DefaultWorkspaceId,
                Since       = DateTime.Now.AddYears(-1).ToIsoDateStr(),
                TaskIds     = string.Format("{0},{1}", task1.Id.Value, task2.Id.Value)
            };

            var result = ReportService.Detailed(standardParams);

            Assert.AreEqual(result.Data.Count, 6);
            Assert.AreEqual(result.TotalCount, 6);

            standardParams.TaskIds = task1.Id.Value.ToString();

            result = ReportService.Detailed(standardParams);
            Assert.AreEqual(result.Data.Count, 3);
            Assert.AreEqual(result.TotalCount, 3);
        }