public void SchemaSource_httpPost_when_model_schemadefinitionfromurl_is_null_returns_redirect_to_action_Create() { //arrange var nameValueCollection = new NameValueCollection() { }; nameValueCollection.Add("useUrl", "yes"); var mockRequestBase = new Mock <HttpRequestBase>(); //mockRequestBase.Setup(x => x.Params).Returns(nameValueCollection); mockRequestBase.SetReturnsDefault(nameValueCollection); _mockHttpContextBase.SetupGet(x => x.Request).Returns(mockRequestBase.Object); var controller = new SchemaController(_esdFunctionService, _dataShareSchemaImportService, _datasetSchemaService, _dataSetSchemaColumnService, _categoryService, _systemConfigurationService); controller.ControllerContext = new ControllerContext(_mockHttpContextBase.Object, new RouteData(), controller); var model = new SchemaSourceViewModel() { SchemaDefinitionFromUrl = null }; //act var result = (RedirectToRouteResult)controller.SchemaSource(model, "categoryname"); //assert Assert.AreEqual("Create", result.RouteValues["action"]); //cleanup }
public ActionResult SchemaSource(SchemaSourceViewModel model, string categoryName) { if (Request["useUrl"] != "yes") { return(RedirectToAction("Create")); } if (String.IsNullOrEmpty(model.SchemaDefinitionFromUrl)) { return(RedirectToAction("Create")); } if (!ModelState.IsValid) { return(RedirectToAction("SchemaSource")); } var schema = new DataSetSchema() { Category = _categoryService.Get(categoryName) , IsStandardisedSchemaUrl = model.IsStandardisedSchemaUrl , SchemaDefinitionFromUrl = model.SchemaDefinitionFromUrl }; var resultImport = _dataShareSchemaImportService.ImportFromUrl(schema); TempData["SchemaSourceErrorMessage"] = resultImport.ErrorMessage; if (!String.IsNullOrEmpty(resultImport.ErrorMessage)) { return(RedirectToAction("SchemaSource")); } TempData["SchemaSourceErrorMessage"] = null; schema = resultImport.DataSetSchema; //save esd links SaveEsdLinks(schema); return(RedirectToAction("Edit", new { categoryName = schema.Category.FriendlyUrl, schemaName = schema.FriendlyUrl })); }
public void SchemaSource_httpPost_when_request_use_url_not_yes_returns_redirect_to_action_Create() { //arrange var nameValueCollection = new NameValueCollection(); nameValueCollection.Add("useUrl", "notyest"); _mockRequestBase.Setup(x => x.Params).Returns(nameValueCollection); _mockHttpContextBase.SetupGet(x => x.Request).Returns(_mockRequestBase.Object); _mockHttpContextBase.SetupGet(x => x.Response).Returns(_mockResponseBase.Object); var controller = new SchemaController(_esdFunctionService, _dataShareSchemaImportService, _datasetSchemaService, _dataSetSchemaColumnService, _categoryService, _systemConfigurationService); controller.ControllerContext = new ControllerContext(_mockHttpContextBase.Object, new RouteData(), controller); var model = new SchemaSourceViewModel(); //act var result = (RedirectToRouteResult)controller.SchemaSource(model, "categoryname"); //assert Assert.AreEqual("Create", result.RouteValues["action"]); //cleanup }