public void OptionsManagerShouldReturnSessionOptionsIfSessionIsAvailable() { //Arrange var mockOptions = new Mock <IOptions <ContentfulOptions> >(); mockOptions.Setup(x => x.Value).Returns(new ContentfulOptions() { DeliveryApiKey = "brunsås" }); var mockSession = new Mock <ISession>(); byte[] dummy = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new ContentfulOptions { DeliveryApiKey = "Schönebrunn" })); mockSession.Setup(x => x.TryGetValue(nameof(ContentfulOptions), out dummy)).Returns(true); var mockContext = new Mock <HttpContext>(); mockContext.SetupGet(c => c.Session).Returns(mockSession.Object); var httpContextAccessor = new Mock <IHttpContextAccessor>(); httpContextAccessor.SetupGet(c => c.HttpContext).Returns(mockContext.Object); var manager = new ContentfulOptionsManager(mockOptions.Object, httpContextAccessor.Object); //Act var options = manager.Options; //Assert Assert.Equal("Schönebrunn", options.DeliveryApiKey); }
public void OptionsManagerShouldReturnStoredOptionsIfSessionIsEmpty() { //Arrange var mockOptions = new Mock <IOptions <ContentfulOptions> >(); mockOptions.Setup(x => x.Value).Returns(new ContentfulOptions() { DeliveryApiKey = "brunsås" }); var mockSession = new Mock <ISession>(); byte[] dummy; mockSession.Setup(x => x.TryGetValue(nameof(ContentfulOptions), out dummy)).Returns(true); var mockContext = new Mock <HttpContext>(); mockContext.SetupGet(c => c.Session).Returns(mockSession.Object); var httpContextAccessor = new Mock <IHttpContextAccessor>(); httpContextAccessor.SetupGet(c => c.HttpContext).Returns(mockContext.Object); var manager = new ContentfulOptionsManager(mockOptions.Object, httpContextAccessor.Object); //Act var options = manager.Options; //Assert Assert.Equal("brunsås", options.DeliveryApiKey); }