示例#1
0
        public async System.Threading.Tasks.Task UpdateActionCallsCookieManagerWhenComparisonListClearedAsync()
        {
            var request  = new Mock <HttpRequestBase>(MockBehavior.Strict);
            var response = new Mock <HttpResponseBase>(MockBehavior.Strict);
            var context  = new Mock <HttpContextBase>(MockBehavior.Strict);

            context.SetupGet(x => x.Request).Returns(request.Object);
            context.SetupGet(x => x.Response).Returns(response.Object);
            var requestCookies = new HttpCookieCollection();
            var listCookie     = new SchoolComparisonListModel();

            listCookie.BenchmarkSchools = new List <BenchmarkSchoolModel>()
            {
                new BenchmarkSchoolModel()
                {
                    Urn = "123", Name = "test"
                }
            };
            requestCookies.Add(new HttpCookie(CookieNames.COMPARISON_LIST, JsonConvert.SerializeObject(listCookie)));
            context.SetupGet(x => x.Request.Cookies).Returns(requestCookies);
            var responseCookies = new HttpCookieCollection();

            context.SetupGet(x => x.Response.Cookies).Returns(responseCookies);
            var rc = new RequestContext(context.Object, new RouteData());

            dynamic apiResponse = new System.Dynamic.ExpandoObject();

            apiResponse.Results         = new object[0];
            apiResponse.NumberOfResults = 0;
            apiResponse.Facets          = string.Empty;

            var     mockEdubaseDataService = new Mock <IContextDataService>();
            dynamic serviceResponse        = new System.Dynamic.ExpandoObject();

            serviceResponse.Results         = new object[0];
            serviceResponse.NumberOfResults = 0;
            serviceResponse.Facets          = string.Empty;

            var mockFinancialDataService = new Mock <IFinancialDataService>();

            var mockCookieManager        = new Mock <ISchoolBenchmarkListService>();
            var fakeSchoolComparisonList = new SchoolComparisonListModel();

            fakeSchoolComparisonList.HomeSchoolUrn           = "123";
            fakeSchoolComparisonList.HomeSchoolName          = "test";
            fakeSchoolComparisonList.HomeSchoolType          = "test";
            fakeSchoolComparisonList.HomeSchoolFinancialType = "Academies";
            fakeSchoolComparisonList.BenchmarkSchools.Add(new BenchmarkSchoolModel {
                Urn = "123", EstabType = "Academies"
            });
            mockCookieManager.Setup(m => m.GetSchoolBenchmarkList()).Returns(fakeSchoolComparisonList);

            var controller = new BenchmarkListController(mockEdubaseDataService.Object, mockCookieManager.Object, mockFinancialDataService.Object);

            controller.ControllerContext = new ControllerContext(rc, controller);

            var result = await controller.UpdateBenchmarkBasket(null, CookieActions.RemoveAll);

            mockCookieManager.Verify(m => m.ClearSchoolBenchmarkList(), Times.Once);
        }
示例#2
0
        public void UpdateActionReturnsCookieWhenComparisonListCleared()
        {
            var request  = new Mock <HttpRequestBase>(MockBehavior.Strict);
            var response = new Mock <HttpResponseBase>(MockBehavior.Strict);
            var context  = new Mock <HttpContextBase>(MockBehavior.Strict);

            context.SetupGet(x => x.Request).Returns(request.Object);
            context.SetupGet(x => x.Response).Returns(response.Object);
            var requestCookies = new HttpCookieCollection();
            var listCookie     = new ComparisonListModel();

            listCookie.BenchmarkSchools = new List <BenchmarkSchoolViewModel>()
            {
                new BenchmarkSchoolViewModel()
                {
                    Urn = "123", Name = "test"
                }
            };
            requestCookies.Add(new HttpCookie(CookieNames.COMPARISON_LIST, JsonConvert.SerializeObject(listCookie)));
            context.SetupGet(x => x.Request.Cookies).Returns(requestCookies);
            var responseCookies = new HttpCookieCollection();

            context.SetupGet(x => x.Response.Cookies).Returns(responseCookies);
            var rc = new RequestContext(context.Object, new RouteData());

            dynamic apiResponse = new System.Dynamic.ExpandoObject();

            apiResponse.Results         = new object[0];
            apiResponse.NumberOfResults = 0;
            apiResponse.Facets          = string.Empty;

            var     mockEdubaseDataService = new Mock <IContextDataService>();
            dynamic serviceResponse        = new System.Dynamic.ExpandoObject();

            serviceResponse.Results         = new object[0];
            serviceResponse.NumberOfResults = 0;
            serviceResponse.Facets          = string.Empty;

            var controller = new BenchmarkListController(mockEdubaseDataService.Object);

            controller.ControllerContext = new ControllerContext(rc, controller);

            var result = controller.UpdateBenchmarkBasket(null, CompareActions.CLEAR_BENCHMARK_LIST);

            Assert.AreEqual(1, controller.Response.Cookies.Count);
            var cookie = JsonConvert.DeserializeObject <ComparisonListModel>(controller.Response.Cookies[CookieNames.COMPARISON_LIST].Value);

            Assert.AreEqual(0, cookie.BenchmarkSchools.Count);
        }