public void SavesComparedEmployersToCookie()
        {
            // Arrange
            var AppendWasCalled = false;

            mockHttpContext.Setup(x => x.Request.Cookies[It.Is <string>(arg => arg == CookieNames.LastCompareQuery)])
            .Returns("12345678");

            var testPresenter = new ComparePresenter(
                MoqHelpers.CreateIOptionsSnapshotMock(new ViewingOptions()),
                mockHttpContextAccessor.Object,
                Mock.Of <IHttpSession>());

            var testIds = new[] { "AAA", "BBB", "CCC" };

            testPresenter.AddRangeToBasket(testIds);

            mockHttpContext.Setup(
                x => x.Response.Cookies.Append(
                    It.Is <string>(arg => arg == CookieNames.LastCompareQuery),
                    It.IsAny <string>(),
                    It.IsAny <CookieOptions>()))
            .Callback(
                (string key, string value, CookieOptions options) => {
                // Assert
                Assert.AreEqual(string.Join(",", testIds), value);
                AppendWasCalled = true;
            });

            // Act
            testPresenter.SaveComparedEmployersToCookie(null);

            // Assert
            Assert.IsTrue(AppendWasCalled);
        }
        public void LoadsEmployersFromCookie(params string[] expectedEmployerIds)
        {
            // Arrange
            mockHttpContext.Setup(x => x.Request.Cookies[It.Is <string>(arg => arg == CookieNames.LastCompareQuery)])
            .Returns(string.Join(",", expectedEmployerIds));

            var testPresenter = new ComparePresenter(
                MoqHelpers.CreateIOptionsSnapshotMock(new ViewingOptions()),
                mockHttpContextAccessor.Object,
                Mock.Of <IHttpSession>());

            // Act
            testPresenter.LoadComparedEmployersFromCookie();

            // Assert
            Assert.AreEqual(
                expectedEmployerIds.Length,
                testPresenter.BasketItemCount,
                $"Expected basket to contain {expectedEmployerIds.Length} employers");
            Assert.IsTrue(testPresenter.ComparedEmployers.Value.Contains(expectedEmployerIds), "Expected employer ids to match basket items");
        }
        public void ClearsBasketBeforeLoadingFromCookie()
        {
            // Arrange
            mockHttpContext.Setup(x => x.Request.Cookies[It.Is <string>(arg => arg == CookieNames.LastCompareQuery)])
            .Returns("12345678");

            var testPresenter = new ComparePresenter(
                MoqHelpers.CreateIOptionsSnapshotMock(new ViewingOptions()),
                mockHttpContextAccessor.Object,
                Mock.Of <IHttpSession>());

            var testPreviousIds = new[] { "AAA", "BBB", "CCC" };

            testPresenter.AddRangeToBasket(testPreviousIds);

            // Act
            testPresenter.LoadComparedEmployersFromCookie();

            // Assert
            Assert.AreEqual(1, testPresenter.BasketItemCount, "Expected basket to contain 1 employer");
            Assert.IsFalse(
                testPresenter.ComparedEmployers.Value.Contains(testPreviousIds),
                "Expected previous employer ids to be cleared from basket");
        }
Ejemplo n.º 4
0
 public RegexMatchController(ICompareUseCase compareUseCase, ComparePresenter comparePresenter)
 {
     this.compareUseCase   = compareUseCase;
     this.comparePresenter = comparePresenter;
 }