This commit is contained in:
Smaug123
2023-12-29 23:16:42 +00:00
parent 9472d9d06b
commit a9024584a5
2 changed files with 15 additions and 5 deletions

View File

@@ -17,7 +17,7 @@ type IPureGymApi =
abstract GetGymAttendance : [<Path "gym_id">] gymId : int * ?ct : CancellationToken -> Task<GymAttendance> abstract GetGymAttendance : [<Path "gym_id">] gymId : int * ?ct : CancellationToken -> Task<GymAttendance>
[<RestEase.GetAttribute "v1/member">] [<RestEase.GetAttribute "v1/member">]
abstract GetMember : ?ct : CancellationToken -> Task<Member> abstract GetMember : ?ct : CancellationToken -> Member Task
[<RestEase.Get "v1/gyms/{gym_id}">] [<RestEase.Get "v1/gyms/{gym_id}">]
abstract GetGym : [<Path "gym_id">] gymId : int * ?ct : CancellationToken -> Task<Gym> abstract GetGym : [<Path "gym_id">] gymId : int * ?ct : CancellationToken -> Task<Gym>
@@ -60,6 +60,12 @@ type IPureGymApi =
[<Get "endpoint">] [<Get "endpoint">]
abstract GetResponse' : ?ct : CancellationToken -> Task<RestEase.Response<MemberActivityDto>> abstract GetResponse' : ?ct : CancellationToken -> Task<RestEase.Response<MemberActivityDto>>
[<Get "endpoint">]
abstract GetResponse'' : ?ct : CancellationToken -> Task<MemberActivityDto Response>
[<Get "endpoint">]
abstract GetResponse''' : ?ct : CancellationToken -> Task<MemberActivityDto RestEase.Response>
[<Get "endpoint">] [<Get "endpoint">]
[<AllowAnyStatusCode>] [<AllowAnyStatusCode>]
abstract GetWithAnyReturnCode : ?ct : CancellationToken -> Task<HttpResponseMessage> abstract GetWithAnyReturnCode : ?ct : CancellationToken -> Task<HttpResponseMessage>

View File

@@ -87,8 +87,10 @@ module TestReturnTypes =
Object.ReferenceEquals (message, Option.get responseMessage) |> shouldEqual true Object.ReferenceEquals (message, Option.get responseMessage) |> shouldEqual true
[<TestCase "Response">] [<TestCase "Task<Response>">]
[<TestCase "RestEase.Response">] [<TestCase "Task<RestEase.Response>">]
[<TestCase "RestEase.Response Task">]
[<TestCase "RestEase.Response Task">]
let ``Response return`` (case : string) = let ``Response return`` (case : string) =
for json, memberDto in PureGymDtos.memberActivityDtoCases do for json, memberDto in PureGymDtos.memberActivityDtoCases do
let mutable responseMessage = None let mutable responseMessage = None
@@ -108,8 +110,10 @@ module TestReturnTypes =
let response = let response =
match case with match case with
| "Response" -> api.GetResponse().Result | "Task<Response>" -> api.GetResponse().Result
| "RestEase.Response'" -> api.GetResponse'().Result | "Task<RestEase.Response>" -> api.GetResponse'().Result
| "Response Task" -> api.GetResponse''().Result
| "RestEase.Response Task" -> api.GetResponse'''().Result
| _ -> failwith $"unrecognised case: %s{case}" | _ -> failwith $"unrecognised case: %s{case}"
response.ResponseMessage |> shouldEqual (Option.get responseMessage) response.ResponseMessage |> shouldEqual (Option.get responseMessage)