예제 #1
0
		public void ReadsEmptyDataAsFail()
		{
			var data = new Dictionary<string, string>();
			var props = new RouteValues(data);
			props.CheckDataOk();

			Assert.That(props.DataOk, Is.False, "data ok");
			Assert.That(props.Controller, Is.Null, "controller");
			Assert.That(props.Action, Is.Null, "action");
		}
예제 #2
0
        internal static void GeneratesActionUrl(RouteCollection routes, HttpMethod httpMethod, string expectedUrl, 
            RouteValues fromProps, string appPath, string requestBody)
        {
            fromProps.CheckDataOk();
            if (!fromProps.DataOk)
            {
                return;
            }

            var routeValueDict = fromProps.AsRouteValueDictionary();

            GeneratesActionUrl(routes, httpMethod, expectedUrl,
                fromProps.Action, fromProps.Controller, appPath, routeValueDict, requestBody);
        }
예제 #3
0
		public void ReadsNoControllerDataAsFail()
		{
			var data = new Dictionary<string, string>
				{
					{ "action", "foo" }
				};

			var props = new RouteValues(data);
			props.CheckDataOk();

			Assert.That(props.DataOk, Is.False, "data ok");
		}
예제 #4
0
		public void ReadsOtherValuesAsRouteValues()
		{
			var data = new Dictionary<string, string>
				{
					{ "controller", "foo" },
					{ "action", "bar" },
					{ "fish", "hallibut" },
				};

			var props = new RouteValues(data);
			props.CheckDataOk();

			Assert.That(props.DataOk, Is.True, "data ok");
			Assert.That(props.Values.Count, Is.EqualTo(1), "route values not empty");

			var output = props.GetRouteValue("fish", RouteValueOrigin.Unknown);

			Assert.That(output, Is.Not.Null, "route value missing");
			Assert.That(output.ValueAsString, Is.EqualTo("hallibut"), "route value wrong");
		}
예제 #5
0
		public void ReadsControllerAndActionToDataOk()
		{
			var data = new Dictionary<string, string>
				{
					{ "controller", "foo" },
					{ "action", "bar" },
				};

			var props = new RouteValues(data);
			props.CheckDataOk();

			Assert.That(props.DataOk, Is.True, "data ok");
		}
예제 #6
0
		public void FailsAreReported()
		{
			var data = new Dictionary<string, string>();
			var routeValues = new RouteValues(data);
			routeValues.CheckDataOk();

			Assert.That(assertEngine.FailCount, Is.EqualTo(2));
			Assert.That(routeValues.DataOk, Is.False);
		}