public async Task ShouldConvertHttpMessageToGetStashTabsResponse() { var service = Substitute.For <IPoeApiService>(); var request = new GetStashTabs.Request { AccountName = "SomeAccountName", PoeSessionId = "someId" }; var expectedResponse = new GetStashTabs.Response { Tabs = new List <Tab> { new Tab { Name = "some name", Index = 0, Type = "some type" } } }; service.GetStashTabs(request).Returns(CreateGetStashTabsHttpResponseMessage(expectedResponse)); var sut = new GetStashTabs.Handler(service); var response = await sut.Handle(request); response.Should().BeEquivalentTo(expectedResponse); }
public async Task ShouldGetStashTabsFromPoeEndpointUsingGetStashTabsRequest() { var service = Substitute.For <IPoeApiService>(); var request = new GetStashTabs.Request { AccountName = "SomeAccountName", PoeSessionId = "someId" }; var sut = new GetStashTabs.Handler(service); await sut.Handle(request); await service.Received(1).GetStashTabs(request); }
public async Task <HttpResponseMessage> GetStashTabs(GetStashTabs.Request request) { var cookieContainer = new CookieContainer(); using var handler = new HttpClientHandler() { CookieContainer = cookieContainer }; using var client = new HttpClient(handler) { BaseAddress = _baseAddress }; cookieContainer.Add(_baseAddress, new Cookie("POESESSID", request.PoeSessionId)); var response = await client.GetAsync($"get-stash-items?accountName={request.AccountName}&league=Delirium&tabs=1"); return(response); }