コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }