Пример #1
0
        public async Task FindAllTasksAsync_ShouldReturnTaskList()
        {
            // Prepare some project
            var projectRequest = new ProjectRequest {
                Name = "Task find project " + Guid.NewGuid(), Color = "#FF00FF"
            };
            var createResult = await _client.CreateProjectAsync(_workspaceId, projectRequest);

            createResult.IsSuccessful.Should().BeTrue();
            var projectId = createResult.Data.Id;

            var response = await _client.FindAllTasksAsync(_workspaceId, projectId);

            response.IsSuccessful.Should().BeTrue();

            var deleteProject = await _client.DeleteProjectAsync(_workspaceId, createResult.Data.Id);

            deleteProject.IsSuccessful.Should().BeTrue();
        }
Пример #2
0
        public async Task CreateTemplatesAsync_ShouldCreteTemplateAndReturnTemplateDto()
        {
            // Create project for test
            var projectRequest = new ProjectRequest {
                Name = "Create Template test project " + Guid.NewGuid(), Color = "#FFFFFF"
            };
            var projectResponse = await _client.CreateProjectAsync(_workspaceId, projectRequest);

            projectResponse.IsSuccessful.Should().BeTrue();
            var projectId = projectResponse.Data.Id;
            // Create task
            var taskRequest = new TaskRequest {
                Name = "Template create task " + Guid.NewGuid()
            };
            var taskResponse = await _client.CreateTaskAsync(_workspaceId, projectId, taskRequest);

            taskResponse.IsSuccessful.Should().BeTrue();
            var taskId = taskResponse.Data.Id;

            var templatePatchRequest = new TemplateRequest()
            {
                Name             = "Create Test template " + Guid.NewGuid(),
                ProjectsAndTasks = new List <ProjectsTaskTupleRequest>()
                {
                    new ProjectsTaskTupleRequest
                    {
                        ProjectId = projectId,
                        TaskId    = taskId
                    }
                }
            };

            var createResult = await _client.CreateTemplatesAsync(_workspaceId, templatePatchRequest);

            createResult.IsSuccessful.Should().BeTrue();
            createResult.Data.Should().NotBeNull();

            var deleteProject = await _client.DeleteProjectAsync(_workspaceId, projectId);

            deleteProject.IsSuccessful.Should().BeTrue();
        }
Пример #3
0
        public async Task CreateProjectAsync_ShouldCreateProjectAndReturnProjectImplDto()
        {
            var projectRequest = new ProjectRequest
            {
                Name  = "Test project " + Guid.NewGuid(),
                Color = "#FF00FF"
            };
            var createResult = await _client.CreateProjectAsync(_workspaceId, projectRequest);

            createResult.IsSuccessful.Should().BeTrue();
            createResult.Data.Should().NotBeNull();

            var findResult = await _client.FindAllProjectsOnWorkspaceAsync(_workspaceId);

            findResult.IsSuccessful.Should().BeTrue();
            findResult.Data.Should().ContainEquivalentOf(createResult.Data);

            var deleteProject = await _client.DeleteProjectAsync(_workspaceId, createResult.Data.Id);

            deleteProject.IsSuccessful.Should().BeTrue();
        }
Пример #4
0
        public static async Task <IRestResponse> ArchiveAndDeleteProject(this ClockifyClient client, string workspaceId, string projectId)
        {
            var projectUpdateRequest = new ProjectUpdateRequest {
                Archived = true
            };
            var archiveProjectResponse = await client.UpdateProjectAsync(workspaceId, projectId, projectUpdateRequest);

            if (!archiveProjectResponse.IsSuccessful)
            {
                return(archiveProjectResponse);
            }
            return(await client.DeleteProjectAsync(workspaceId, projectId));
        }
Пример #5
0
        public async Task DeleteProjectAsync_ShouldDeleteProject()
        {
            // Create project to delete
            var projectRequest = new ProjectRequest {
                Name = "DeleteProjectTest", Color = "#FFFFFF"
            };
            var response = await _client.CreateProjectAsync(_workspaceId, projectRequest);

            response.IsSuccessful.Should().BeTrue();
            var projectId = response.Data.Id;

            // Delete project
            var del = await _client.DeleteProjectAsync(_workspaceId, projectId);

            del.IsSuccessful.Should().BeTrue();
        }
Пример #6
0
        public async Task FindAllTimeEntriesForProjectAsync_ShouldReturnTimeEntryDtoImplList()
        {
            // Create project
            var projectRequest = new ProjectRequest
            {
                Name  = "FindAllTimeEntriesForProjectAsync " + Guid.NewGuid(),
                Color = "#FF00FF"
            };
            var createProject = await _client.CreateProjectAsync(_workspaceId, projectRequest);

            createProject.IsSuccessful.Should().BeTrue();
            createProject.Data.Should().NotBeNull();

            ProjectDtoImpl project = createProject.Data;


            // Create TimeEntries
            var now = DateTimeOffset.UtcNow;
            var timeEntry1Request = new TimeEntryRequest
            {
                ProjectId   = project.Id,
                Start       = now,
                End         = now.AddMinutes(2),
                Description = "TimeEntry1"
            };

            var addTimeEntry1 = await _client.CreateTimeEntryAsync(_workspaceId, timeEntry1Request);

            addTimeEntry1.IsSuccessful.Should().BeTrue();
            addTimeEntry1.Data.Should().NotBeNull();

            TimeEntryDtoImpl timeEntry1 = addTimeEntry1.Data;

            var timeEntry2Request = new TimeEntryRequest
            {
                ProjectId   = project.Id,
                Start       = now.AddDays(-1),
                End         = now.AddMinutes(3),
                Description = "TimeEntry2"
            };


            var addTimeEntry2 = await _client.CreateTimeEntryAsync(_workspaceId, timeEntry2Request);

            addTimeEntry2.IsSuccessful.Should().BeTrue();
            addTimeEntry2.Data.Should().NotBeNull();

            TimeEntryDtoImpl timeEntry2 = addTimeEntry2.Data;


            // Send request

            var response = await _client.FindAllTimeEntriesForProjectAsync(_workspaceId, projectId : project.Id, start : DateTimeOffset.Now.AddDays(-1),
                                                                           end : DateTimeOffset.Now.AddDays(1));

            //response.IsSuccessful.Should().BeTrue();
            response.Data.Should().NotBeNull();

            List <TimeEntryDtoImpl> responseContent = response.Data as List <TimeEntryDtoImpl>;

            responseContent.Should().Contain(timeEntry => timeEntry.Id.Equals(timeEntry1.Id));
            responseContent.Should().Contain(timeEntry => timeEntry.Id.Equals(timeEntry2.Id));


            // Clean up
            await _client.DeleteTimeEntryAsync(_workspaceId, addTimeEntry1.Data.Id);

            await _client.DeleteTimeEntryAsync(_workspaceId, addTimeEntry2.Data.Id);

            await _client.DeleteProjectAsync(_workspaceId, createProject.Data.Id);
        }