Skip to content

Commit 45a86d6

Browse files
committed
issue fixed #143 - initialize status , add more code coverage
1 parent d57a220 commit 45a86d6

6 files changed

Lines changed: 177 additions & 147 deletions

File tree

‎src/Incoding.UnitTest/MSpecGroup/Extensions/When_should_extensions.cs‎

Lines changed: 132 additions & 132 deletions
Large diffs are not rendered by default.

‎src/Incoding.UnitTest/MvcContribGroup/Extensions/When_html_extensions.cs‎

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,17 @@ public class When_html_extensions
3838
htmlHelper.Original.Dispatcher().AsView(data, pathToView, model).ToHtmlString().ShouldBeTheSameString();
3939
};
4040

41+
It should_be_as_view_from_query = () =>
42+
{
43+
var pathToView = Pleasure.Generator.String();
44+
var query = Pleasure.Generator.Invent<FakeQuery>();
45+
var model = Pleasure.Generator.String();
46+
var data = Pleasure.Generator.String();
47+
IoCFactory.Instance.StubTryResolve(Pleasure.MockStrictAsObject<IDispatcher>(mock => { mock.StubQuery<FakeQuery, string>(query, data); }));
48+
IoCFactory.Instance.StubTryResolve(Pleasure.MockStrictAsObject<ITemplateFactory>(mock => mock.Setup(s => s.Render(Pleasure.MockIt.IsNotNull<HtmlHelper>(), pathToView, data, model)).Returns(Pleasure.Generator.TheSameString())));
49+
htmlHelper.Original.Dispatcher().AsViewFromQuery(query, pathToView, model).ToHtmlString().ShouldBeTheSameString();
50+
};
51+
4152
It should_be_as_view_without_model = () =>
4253
{
4354
var pathToView = Pleasure.Generator.String();
@@ -46,7 +57,11 @@ public class When_html_extensions
4657
htmlHelper.Original.Dispatcher().AsView(data, pathToView).ToHtmlString().ShouldBeTheSameString();
4758
};
4859

49-
It should_be_dispatcher = () => { htmlHelper.Original.Dispatcher().ShouldBeAssignableTo<DefaultDispatcher>(); };
60+
It should_be_dispatcher = () =>
61+
{
62+
IoCFactory.Instance.StubTryResolve(Pleasure.Generator.Invent<DefaultDispatcher>());
63+
htmlHelper.Original.Dispatcher().ShouldNotBeNull();
64+
};
5065

5166
It should_be_for = () => htmlHelper
5267
.Original
@@ -95,6 +110,16 @@ public class When_html_extensions
95110
meta.OnBind.ShouldEqual("blur incoding");
96111
});
97112

113+
public class FakeQuery : QueryBase<string>
114+
{
115+
public string Test { get; set; }
116+
117+
protected override string ExecuteResult()
118+
{
119+
throw new NotImplementedException();
120+
}
121+
}
122+
98123
#region Fake classes
99124

100125
class FakeModel

‎src/Incoding.UnitTest/MvcContribGroup/Incoding Meta Language/Dsl/When_incoding_meta_language_action_direct_dsl.cs‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@ public class When_incoding_meta_language_action_direct_dsl
1616
.GetExecutable<ExecutableDirectAction>()
1717
.Should(action => action["result"].ShouldNotBeNull());
1818

19-
It should_be_direct_with_incoding_result = () => new IncodingMetaLanguageDsl(JqueryBind.Click)
20-
.Do().Direct(IncodingResult.Success(Pleasure.Generator.TheSameString()))
21-
.GetExecutable<ExecutableDirectAction>()
22-
.Should(action => action["result"].ShouldEqual("{\"success\":true,\"data\":\"TheSameString\",\"redirectTo\":\"\"}"));
23-
24-
2519
It should_be_direct_with_data = () => new IncodingMetaLanguageDsl(JqueryBind.Click)
2620
.Do()
2721
.Direct(Pleasure.Generator.TheSameString())
2822
.GetExecutable<ExecutableDirectAction>()
29-
.Should(action => action["result"].ShouldEqual("{\"success\":true,\"data\":\"TheSameString\",\"redirectTo\":\"\"}"));
23+
.Should(action => action["result"].ShouldEqual("{\"success\":true,\"data\":\"TheSameString\",\"redirectTo\":\"\",\"statusCode\":200}"));
24+
25+
It should_be_direct_with_incoding_result = () => new IncodingMetaLanguageDsl(JqueryBind.Click)
26+
.Do().Direct(IncodingResult.Success(Pleasure.Generator.TheSameString()))
27+
.GetExecutable<ExecutableDirectAction>()
28+
.Should(action => action["result"].ShouldEqual("{\"success\":true,\"data\":\"TheSameString\",\"redirectTo\":\"\",\"statusCode\":200}"));
3029
}
3130
}

‎src/Incoding.UnitTest/MvcContribGroup/IncodingResult/When_incoding_result_to_string.cs‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,18 @@
1111
[Subject(typeof(IncodingResult))]
1212
public class When_incoding_result_to_string
1313
{
14+
Establish establish = () => { result = IncodingResult.Success(Pleasure.Generator.TheSameString()); };
15+
16+
Because of = () => { toString = result.ToString(); };
17+
18+
It should_be_to_string = () => toString.ShouldEqual("{\"success\":true,\"data\":\"TheSameString\",\"redirectTo\":\"\",\"statusCode\":200}");
19+
1420
#region Establish value
1521

1622
static IncodingResult result;
1723

1824
static string toString;
1925

2026
#endregion
21-
22-
Establish establish = () => { result = IncodingResult.Success(Pleasure.Generator.TheSameString()); };
23-
24-
Because of = () => { toString = result.ToString(); };
25-
26-
It should_be_to_string = () => toString.ShouldEqual("{\"success\":true,\"data\":\"TheSameString\",\"redirectTo\":\"\"}");
2727
}
2828
}

‎src/Incoding/MvcContrib/Core/IncodingResult.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ public JsonData(bool success, object data, string redirectTo, HttpStatusCode sta
101101
this.success = success;
102102
this.data = data;
103103
this.redirectTo = redirectTo;
104+
this.statusCode = statusCode;
104105
}
105106

106107
#endregion

‎src/Incoding/MvcContrib/Extensions/HtmlExtensions.cs‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static class HtmlExtensions
2727
public static IDispatcher Dispatcher(this HtmlHelper htmlHelper)
2828
{
2929
HtmlHelper = htmlHelper;
30-
return new DefaultDispatcher();
30+
return IoCFactory.Instance.TryResolve<IDispatcher>();
3131
}
3232

3333
// ReSharper disable once UnusedParameter.Global
@@ -37,6 +37,11 @@ public static MvcHtmlString AsView<TData>(this IDispatcher dispatcher, TData dat
3737
return MvcHtmlString.Create(IoCFactory.Instance.TryResolve<ITemplateFactory>().Render(HtmlHelper, view, data, model));
3838
}
3939

40+
public static MvcHtmlString AsViewFromQuery<TResult>(this IDispatcher dispatcher, QueryBase<TResult> query, [PathReference] string view, object model = null) where TResult : class
41+
{
42+
return dispatcher.AsView(dispatcher.Query(query), view, model);
43+
}
44+
4045
[Obsolete("Please use AsView with Html.Dispatcher().AsView(data)", true), ExcludeFromCodeCoverage, UsedImplicitly]
4146
public static MvcHtmlString AsView<TData>(this TData data, [PathReference] string view, object model = null) where TData : class
4247
{

0 commit comments

Comments
 (0)