aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline.Tests/IntegratedTests/HttpClientTimelineExtensions.cs
blob: 8e48ccbf696eb3a2e6f6e885de555bc04e2700cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.Net.Http;
using System.Threading.Tasks;
using Timeline.Models.Http;

namespace Timeline.Tests.IntegratedTests
{
    public static class HttpClientTimelineExtensions
    {
        public static Task<TimelineInfo> GetTimelineAsync(this HttpClient client, string timelineName)
            => client.TestGetAsync<TimelineInfo>($"timelines/{timelineName}");

        public static Task<TimelineInfo> PatchTimelineAsync(this HttpClient client, string timelineName, TimelinePatchRequest body)
            => client.TestPatchAsync<TimelineInfo>($"timelines/{timelineName}", body);

        public static Task PutTimelineMemberAsync(this HttpClient client, string timelineName, string memberUsername)
            => client.TestPutAsync($"timelines/{timelineName}/members/{memberUsername}");

        public static Task DeleteTimelineMemberAsync(this HttpClient client, string timelineName, string memberUsername, bool? delete)
            => client.TestDeleteAsync($"timelines/{timelineName}/members/{memberUsername}", delete);
    }
}