mardi 3 mars 2015

Moq Application variables

This is the first time I am using moq and cannot really find a good tutorial on how to use it for application variables. I in my controller i am calling a method that calls HttpContext.Current.Application["TheConnectionString"] and im my global.asax I declared and initialized Application["TheConnectionString"] = "MyConnectionString"



[TestMethod]
public void TestGetCompanyList()
{
string applicationValue = "MyConnectionString";
var mockApplication = new Mock<HttpApplicationStateBase>();
mockApplication.SetupSet(s => s["TheConnectionString"] = It.IsAny<string>()).Callback((string name) => applicationValue = (string)val);
mockApplication.SetupGet(s => s["TheconnectionString"]).Returns(() => applicationValue);

var request = new Mock<HttpRequestBase>();
var context = new Mock<HttpContextBase>();

request.SetupGet(x => x.Headers).Returns(new System.Net.WebHeaderCollection {{"X-Requested-With", "XMLHttpRequest"}});
context.SetupGet(ctx => ctx.Request).Returns(request.Object);
context.SetupGet(x => x.Application).Returns(applicationValue);


var accController = new AccSerController();
CInt cInt = new CInt();
cIn.Iss = "Other";
cIn.Tick = "BK";
var result = accController.GetClist(cIn) as IEnumerable<CList>;
Assert.IsNotNull(result);
}


I dont know how to "connect" the application value to the controller.


Aucun commentaire:

Enregistrer un commentaire