public void CompareController_AddEmployerJS_Success_RedirectToReturnUrl()
        {
            // Arrange
            ConfigHelpers.SearchOptions.CacheResults = true;

            var    controller     = UiTestHelper.GetController <CompareController>();
            string returnUrl      = @"\viewing\search-results";
            var    organisationId = 123;
            var    expectedObfuscatedOrganisationId = ViewingControllerTests.ConfigureObfuscator(organisationId);

            var employer = new Core.Models.EmployerSearchModel()
            {
                OrganisationIdEncrypted = expectedObfuscatedOrganisationId,
                OrganisationId          = "123",
                Name = "Org123"
            };

            var model = new AddRemoveButtonViewModel()
            {
                OrganisationIdEncrypted = employer.OrganisationIdEncrypted,
                OrganisationName        = employer.Name
            };

            controller.SearchViewService.LastSearchResults = new SearchViewModel()
            {
                Employers = new PagedResult <Core.Models.EmployerSearchModel>()
                {
                    Results = new List <Core.Models.EmployerSearchModel>()
                    {
                        employer
                    }
                }
            };

            // Act
            var result = controller.AddEmployerJs(employer.OrganisationIdEncrypted, returnUrl) as PartialViewResult;

            // Assert
            Assert.NotNull(result);
            Assert.AreEqual(returnUrl, controller.ViewBag.ReturnUrl);
            Assert.AreEqual("Basket_Button", result.ViewName);
            CompareHelpers.Compare(model, result.Model);
            Assert.AreEqual(controller.CompareViewService.BasketItemCount, 1);
            Assert.IsTrue(controller.CompareViewService.ComparedEmployers.Value.Contains(model.OrganisationIdEncrypted));
            controller.AssertCookieAdded(CookieNames.LastCompareQuery, expectedObfuscatedOrganisationId);
        }
        public void CompareController_AddEmployer_Success_RedirectToReturnUrl()
        {
            // Arrange
            ConfigHelpers.SearchOptions.CacheResults = true;

            var  controller     = UiTestHelper.GetController <CompareController>();
            long organisationId = 123;
            var  expectedObfuscatedOrganisationId = ViewingControllerTests.ConfigureObfuscator(organisationId);
            var  employerIdentifier = expectedObfuscatedOrganisationId;
            var  returnUrl          = @"\viewing\search-results";

            controller.SearchViewService.LastSearchResults = new SearchViewModel()
            {
                Employers = new PagedResult <Core.Models.EmployerSearchModel>()
                {
                    Results = new List <Core.Models.EmployerSearchModel>()
                    {
                        new Core.Models.EmployerSearchModel()
                        {
                            OrganisationIdEncrypted = employerIdentifier,
                            OrganisationId          = organisationId.ToString()
                        }
                    }
                }
            };

            // Act
            var result = controller.AddEmployer(employerIdentifier, returnUrl) as RedirectResult;

            // Assert
            Assert.NotNull(result);
            Assert.AreEqual(returnUrl, result.Url);
            Assert.AreEqual(controller.CompareViewService.BasketItemCount, 1);
            Assert.IsTrue(controller.CompareViewService.ComparedEmployers.Value.Contains(employerIdentifier));
            controller.AssertCookieAdded(CookieNames.LastCompareQuery, expectedObfuscatedOrganisationId);
        }