Пример #1
0
        public void TestUpdate()
        {
            // arrange
            var manager      = new RedmineManagerInstance(Url, ApiKey);
            var activityInfo = manager.GetTotalActivityInfoList(new DataSourceParameter()).First(a => a.IsDefault);
            var issueInfo    = manager.GetIssueInfoList(new DataSourceParameter()
            {
                Limit = 1
            }).First();
            var projectInfo = new ProjectInfo()
            {
                Id = issueInfo.ProjectId, Name = issueInfo.ProjectShortName
            };

            var timeEntryInfo = new TimeEntryInfo()
            {
                Id            = null,
                Name          = "CreateAndDeleteTest",
                StartDateTime = new DateTime(2016, 7, 8, 10, 0, 0),
                EndDateTime   = new DateTime(2016, 7, 8, 12, 15, 0, 0),
                UpdateTime    = new DateTime(2017, 2, 14),
                ActivityInfo  = activityInfo,
                IssueInfo     = issueInfo,
                ProjectInfo   = projectInfo,
            };

            var created   = manager.CreateObject(timeEntryInfo);
            var createdId = created.Id;

            // act
            var currentTime = DateTime.Now;

            timeEntryInfo.StartDateTime = new DateTime(2016, 7, 8, 8, 15, 0);
            manager.UpdateObject(timeEntryInfo);
            var updatedIssues =
                manager.GetTotalTimeEntryInfoList(new DataSourceParameter()
            {
                UpdateStartDateTime = currentTime
            })
                .Where(i => i.Name == timeEntryInfo.Name);

            // clean up
            manager.DeleteTimeEntry(timeEntryInfo.Id, new DataSourceParameter());

            // assert
            Assert.That(updatedIssues, Is.Not.Null);
            Assert.That(updatedIssues.Count, Is.EqualTo(1));
            var issue = updatedIssues.First();

            Assert.That(issue.UpdateTime - DateTime.Now, Is.LessThanOrEqualTo(TimeSpan.FromMinutes(5)));
            Assert.That(issue.StartDateTime, Is.EqualTo(timeEntryInfo.StartDateTime));
        }
Пример #2
0
        public void TestDownloadProjectInfos()
        {
            // arrange
            var manager    = new RedmineManagerInstance(Url, ApiKey);
            var parameters = new DataSourceParameter();

            // act
            var projects = manager.GetTotalProjectList(parameters);

            // assert
            Assert.That(projects, Is.Not.Null);
            Assert.That(projects.Count, Is.GreaterThan(0));
        }
Пример #3
0
        public void TestUser()
        {
            // arrange
            var manager = new RedmineManagerInstance(Url, ApiKey);

            // act
            var user = manager.GetCurrentUser();

            // assert
            Assert.That(user, Is.Not.Null);
            Assert.That(user.Id, Is.Not.Null);
            Assert.That(user.Name, Contains.Substring("corpio"));
        }
Пример #4
0
        public void TestParameterConversionNoParameterGiven()
        {
            // arrange
            var manager   = new RedmineManagerInstance(Url, ApiKey);
            var parameter = new DataSourceParameter();

            // act
            var queryParameter = manager.GetParametersForQuery(parameter);

            // assert
            Assert.That(queryParameter, Is.Not.Null);
            Assert.That(queryParameter.Count, Is.EqualTo(0));
        }
Пример #5
0
        public void TestGetAllIssuesAssignedToMe()
        {
            var manager    = new RedmineManagerInstance(Url, ApiKey);
            var parameters = new DataSourceParameter()
            {
                AssignedToUserId = -1
            };

            // act
            var issues = manager.GetIssueInfoList(parameters);

            // assert
            Assert.That(issues.Count, Is.GreaterThan(0));
        }
Пример #6
0
        public void TestDownloadIssueInfosWithProjectFilterForExistingProject()
        {
            // arrange
            var manager    = new RedmineManagerInstance(Url, ApiKey);
            var parameters = new DataSourceParameter()
            {
                ProjectId = 333
            };

            // act
            var issues = manager.GetTotalIssueInfoList(parameters);

            // assert
            Assert.That(issues, Is.Not.Null);
            Assert.That(issues.Count, Is.GreaterThan(0));
        }
Пример #7
0
        public void TestParameterConversionNoParameterButUpdateStartTimeSet()
        {
            // arrange
            var manager   = new RedmineManagerInstance(Url, ApiKey);
            var parameter = new DataSourceParameter()
            {
                UpdateStartDateTime = new DateTime(2017, 2, 8)
            };

            // act
            var queryParameter = manager.GetParametersForQuery(parameter);

            // assert
            Assert.That(queryParameter, Is.Not.Null);
            Assert.That(queryParameter.Count, Is.EqualTo(1));
            Assert.That(queryParameter["updated_on"], Is.EqualTo(">=2017-02-08"));
        }
Пример #8
0
        public void TestParameterConversionNoParameterButSpentTimeSet()
        {
            // arrange
            var manager   = new RedmineManagerInstance(Url, ApiKey);
            var parameter = new DataSourceParameter()
            {
                SpentDateTimeTuple = Tuple.Create(new DateTime(2016, 1, 3), new DateTime(2017, 7, 26))
            };

            // act
            var queryParameter = manager.GetParametersForQuery(parameter);

            // assert
            Assert.That(queryParameter, Is.Not.Null);
            Assert.That(queryParameter.Count, Is.EqualTo(1));
            Assert.That(queryParameter["spent_on"], Is.EqualTo("><2016-01-03|2017-07-26"));
        }
Пример #9
0
        public void TestParameterConversionNoParameterButProjectIdSet(int projectIdToSet, string expectedValue)
        {
            // arrange
            var manager   = new RedmineManagerInstance(Url, ApiKey);
            var parameter = new DataSourceParameter()
            {
                ProjectId = projectIdToSet
            };

            // act
            var queryParameter = manager.GetParametersForQuery(parameter);

            // assert
            Assert.That(queryParameter, Is.Not.Null);
            Assert.That(queryParameter.Count, Is.EqualTo(1));
            Assert.That(queryParameter["project_id"], Is.EqualTo(expectedValue));
        }
Пример #10
0
        public void TestDownloadIssueInfosWithLimitViaBoolLimit()
        {
            // arrange
            var manager    = new RedmineManagerInstance(Url, ApiKey, 1);
            var parameters = new DataSourceParameter()
            {
                UseLimit = true
            };

            // act
            var issues = manager.GetIssueInfoList(parameters);

            // assert
            Assert.That(issues, Is.Not.Null);
            Assert.That(issues.Count, Is.GreaterThan(0));
            Assert.That(issues.Count, Is.LessThanOrEqualTo(1));
        }
Пример #11
0
        public void CreateAndDeleteTimeEntry()
        {
            // arrange
            var manager      = new RedmineManagerInstance(Url, ApiKey);
            var activityInfo = manager.GetTotalActivityInfoList(new DataSourceParameter()).First(a => a.IsDefault);
            var issueInfo    = manager.GetIssueInfoList(new DataSourceParameter()
            {
                Limit = 1
            }).First();
            var projectInfo = new ProjectInfo()
            {
                Id = issueInfo.ProjectId, Name = issueInfo.ProjectShortName
            };

            var timeEntryInfo = new TimeEntryInfo()
            {
                Id            = null,
                Name          = "CreateAndDeleteTest",
                StartDateTime = new DateTime(2016, 7, 8, 10, 0, 0),
                EndDateTime   = new DateTime(2016, 7, 8, 12, 15, 0, 0),
                UpdateTime    = new DateTime(2017, 2, 14),
                ActivityInfo  = activityInfo,
                IssueInfo     = issueInfo,
                ProjectInfo   = projectInfo,
            };

            // act
            var created   = manager.CreateObject(timeEntryInfo);
            var createdId = created.Id;

            // assert
            Assert.That(createdId, Is.Not.Null);

            // act
            manager.DeleteTimeEntry(createdId, new DataSourceParameter());
        }