How can I mock ServiceStack IHttpRequest

无人久伴 提交于 2019-12-05 15:16:48
paaschpa

I think this should do it.

[Test]
public void ValidUsernameReturnUser()
{
    // arrange 
    var mockRequestContext = new MockRequestContext();
    //add items to Request
    mockRequestContext.Get<IHttpRequest>().Items.Add("AccountCode", "DEF456");
    var gateway = new Mock<IUserServiceGateway>();
    gateway.Setup(s => s.GetUserByUsername(It.IsAny<string>()))
            .Returns(new UserAccountDTO { Forename = "John", Surname = "Doe" });

    var service = new UserService {
        UserServiceGateway = gateway.Object,
        RequestContext = new MockRequestContext(),
    };

    // act
    var response = (UserResponse)service.Any(new UserRequest { Name = "test" });

    // assert
    Assert.That(response.Result, Is.Not.Null);    
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!