89 lines
2.6 KiB
C#
89 lines
2.6 KiB
C#
using System.Linq;
|
|
using Novaloop.PaymoApi.Tasks;
|
|
using Novaloop.PaymoApi.Tasks.Models;
|
|
using Xunit;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace Novaloop.PaymoApi.Tests
|
|
{
|
|
public class PaymoTasksApiTests
|
|
{
|
|
private readonly ITestOutputHelper _testOutputHelper;
|
|
private readonly PaymoTasksApi _paymoTasksApi;
|
|
private readonly PaymoTask _testTask;
|
|
|
|
public PaymoTasksApiTests(ITestOutputHelper testOutputHelper)
|
|
{
|
|
_testOutputHelper = testOutputHelper;
|
|
_paymoTasksApi = new PaymoTasksApi(DependencyFactory.GeneratePaymoApiClient(), DependencyFactory.GenerateOptions());
|
|
_testTask = new PaymoTask
|
|
{
|
|
Name = "Testtask",
|
|
Description = "Just a little task"
|
|
};
|
|
}
|
|
|
|
|
|
[Fact]
|
|
public async void GetTasks()
|
|
{
|
|
// Arrange
|
|
|
|
// Act
|
|
var tasks = (await _paymoTasksApi.GetTasks()).ToList();
|
|
|
|
// Assert
|
|
Assert.NotEmpty(tasks);
|
|
_testOutputHelper.WriteLine(string.Join(",", tasks));
|
|
}
|
|
|
|
[Fact]
|
|
public async void GetTask()
|
|
{
|
|
// Arrange
|
|
|
|
// Act
|
|
var tasks = (await _paymoTasksApi.GetTasks()).ToList();
|
|
var task = await _paymoTasksApi.GetTask(tasks.First().Id);
|
|
|
|
// Assert
|
|
Assert.NotNull(task);
|
|
}
|
|
|
|
[Fact]
|
|
public async void CreateTask()
|
|
{
|
|
// Arrange
|
|
var existingTaskListId = (await _paymoTasksApi.GetTasks()).First().TasklistId;
|
|
|
|
// Act
|
|
_testTask.TasklistId = existingTaskListId;
|
|
var createdTask = await _paymoTasksApi.CreateTask(_testTask);
|
|
var task = await _paymoTasksApi.GetTask(createdTask.Id);
|
|
|
|
// Assert
|
|
Assert.Equal(_testTask.Name, task.Name);
|
|
Assert.Equal(_testTask.Description, task.Description);
|
|
|
|
// Cleanup
|
|
await _paymoTasksApi.DeleteTask(createdTask.Id);
|
|
}
|
|
|
|
[Fact]
|
|
public async void DeleteTask()
|
|
{
|
|
// Arrange
|
|
var existingTaskListId = (await _paymoTasksApi.GetTasks()).First().TasklistId;
|
|
_testTask.TasklistId = existingTaskListId;
|
|
var createdTask = await _paymoTasksApi.CreateTask(_testTask);
|
|
|
|
// Act
|
|
await _paymoTasksApi.DeleteTask(createdTask.Id);
|
|
var tasks = (await _paymoTasksApi.GetTasks()).ToList();
|
|
|
|
|
|
// Assert
|
|
Assert.Empty(tasks.Where(c => c.Id == createdTask.Id));
|
|
}
|
|
}
|
|
} |