public void MakeInquiry_GivenAPartyId_ShouldReturnAPartyRelationshipInquiryResponse() { var stubApi = Substitute.For <IAPI>(); var stubLazyApi = new Lazy <IAPI>(() => stubApi); var credentials = new Credentials() { BaseUrl = "https://some.bank.or.cu/api", Username = "******", Password = "******", Facility = "validFacility" }; var session = new Session() { UserName = "******", Password = "******", Authentication = "CCM" }; var fakeSessionResponse = JsonConvert.DeserializeObject <SessionResponse>("{'authToken':'cc6320b637beb3949d522d2c32341fe5'}"); stubLazyApi.Value.Post <Session, SessionResponse>(session).Returns(fakeSessionResponse); var lazyApiValue = stubLazyApi.Value.Post <Session, SessionResponse>(session); string _authToken = fakeSessionResponse?.AuthToken; string fakeLogString = $"GetAuthToken(Session) _authToken = {_authToken}"; var proxy = new RestProxy(stubLazyApi, credentials); proxy.MakeInquiry(new PartyRelationshipsInquiry()); }