Skip to content

Commit f38384f

Browse files
committed
Added documentation summary where missing for JSON result tests (#46)
1 parent 008558f commit f38384f

11 files changed

+287
-18
lines changed

src/MyWebApi/Builders/Base/BaseTestBuilderWithActionResult.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ protected IAndTestBuilder<TActionResult> NewAndTestBuilder()
9292
this.ActionResult);
9393
}
9494

95+
/// <summary>
96+
/// Returns the actual action result casted as dynamic type.
97+
/// </summary>
98+
/// <param name="actionResult">Result from the tested action.</param>
99+
/// <returns>Object of dynamic type.</returns>
95100
protected dynamic GetActionResultAsDynamic(TActionResult actionResult)
96101
{
97102
return this.ActionResult.GetType().CastTo<dynamic>(this.ActionResult);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
namespace MyWebApi.Builders.Contracts.Json
22
{
3+
/// <summary>
4+
/// Used for testing JSON serializer settings in a JSON result with AndAlso() method.
5+
/// </summary>
36
public interface IAndJsonSerializerSettingsTestBuilder : IJsonSerializerSettingsTestBuilder
47
{
8+
/// <summary>
9+
/// AndAlso method for better readability when chaining JSON serializer settings test builder.
10+
/// </summary>
11+
/// <returns>JSON serializer settings test builder.</returns>
512
IJsonSerializerSettingsTestBuilder AndAlso();
613
}
714
}

src/MyWebApi/Builders/Contracts/Json/IJsonSerializerSettingsTestBuilder.cs

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,130 @@
55
using Newtonsoft.Json;
66
using Newtonsoft.Json.Serialization;
77

8+
/// <summary>
9+
/// Used for testing JSON serializer settings in a JSON result.
10+
/// </summary>
811
public interface IJsonSerializerSettingsTestBuilder
912
{
13+
/// <summary>
14+
/// Tests the Culture property in a JSON serializer settings object.
15+
/// </summary>
16+
/// <param name="culture">Expected Culture.</param>
17+
/// <returns>And JSON serializer settings test builder.</returns>
1018
IAndJsonSerializerSettingsTestBuilder WithCulture(CultureInfo culture);
1119

20+
/// <summary>
21+
/// Tests the ContractResolver property in a JSON serializer settings object.
22+
/// </summary>
23+
/// <param name="contractResolver">Expected ContractResolver.</param>
24+
/// <returns>And JSON serializer settings test builder.</returns>
1225
IAndJsonSerializerSettingsTestBuilder WithContractResolver(IContractResolver contractResolver);
1326

27+
/// <summary>
28+
/// Tests the ContractResolver property in a JSON serializer settings object by using generic type.
29+
/// </summary>
30+
/// <typeparam name="TContractResolver">Expected ContractResolver type.</typeparam>
31+
/// <returns>And JSON serializer settings test builder.</returns>
1432
IAndJsonSerializerSettingsTestBuilder WithContractResolverOfType<TContractResolver>()
1533
where TContractResolver : IContractResolver;
1634

35+
/// <summary>
36+
/// Tests the ConstructorHandling property in a JSON serializer settings object.
37+
/// </summary>
38+
/// <param name="constructorHandling">Expected ConstructorHandling.</param>
39+
/// <returns>And JSON serializer settings test builder.</returns>
1740
IAndJsonSerializerSettingsTestBuilder WithConstructorHandling(ConstructorHandling constructorHandling);
1841

42+
/// <summary>
43+
/// Tests the DateFormatHandling property in a JSON serializer settings object.
44+
/// </summary>
45+
/// <param name="dateFormatHandling">Expected DateFormatHandling.</param>
46+
/// <returns>And JSON serializer settings test builder.</returns>
1947
IAndJsonSerializerSettingsTestBuilder WithDateFormatHandling(DateFormatHandling dateFormatHandling);
2048

49+
/// <summary>
50+
/// Tests the DateParseHandling property in a JSON serializer settings object.
51+
/// </summary>
52+
/// <param name="dateParseHandling">Expected DateParseHandling.</param>
53+
/// <returns>And JSON serializer settings test builder.</returns>
2154
IAndJsonSerializerSettingsTestBuilder WithDateParseHandling(DateParseHandling dateParseHandling);
2255

56+
/// <summary>
57+
/// Tests the WithDateTimeZoneHandling property in a JSON serializer settings object.
58+
/// </summary>
59+
/// <param name="dateTimeZoneHandling">Expected WithDateTimeZoneHandling.</param>
60+
/// <returns>And JSON serializer settings test builder.</returns>
2361
IAndJsonSerializerSettingsTestBuilder WithDateTimeZoneHandling(DateTimeZoneHandling dateTimeZoneHandling);
2462

63+
/// <summary>
64+
/// Tests the DefaultValueHandling property in a JSON serializer settings object.
65+
/// </summary>
66+
/// <param name="defaultValueHandling">Expected DefaultValueHandling.</param>
67+
/// <returns>And JSON serializer settings test builder.</returns>
2568
IAndJsonSerializerSettingsTestBuilder WithDefaultValueHandling(DefaultValueHandling defaultValueHandling);
2669

70+
/// <summary>
71+
/// Tests the Formatting property in a JSON serializer settings object.
72+
/// </summary>
73+
/// <param name="formatting">Expected Formatting.</param>
74+
/// <returns>And JSON serializer settings test builder.</returns>
2775
IAndJsonSerializerSettingsTestBuilder WithFormatting(Formatting formatting);
2876

77+
/// <summary>
78+
/// Tests the MaxDepth property in a JSON serializer settings object.
79+
/// </summary>
80+
/// <param name="maxDepth">Expected max depth.</param>
81+
/// <returns>And JSON serializer settings test builder.</returns>
2982
IAndJsonSerializerSettingsTestBuilder WithMaxDepth(int? maxDepth);
3083

84+
/// <summary>
85+
/// Tests the MissingMemberHandling property in a JSON serializer settings object.
86+
/// </summary>
87+
/// <param name="missingMemberHandling">Expected MissingMemberHandling.</param>
88+
/// <returns>And JSON serializer settings test builder.</returns>
3189
IAndJsonSerializerSettingsTestBuilder WithMissingMemberHandling(MissingMemberHandling missingMemberHandling);
3290

91+
/// <summary>
92+
/// Tests the NullValueHandling property in a JSON serializer settings object.
93+
/// </summary>
94+
/// <param name="nullValueHandling">Expected NullValueHandling.</param>
95+
/// <returns>And JSON serializer settings test builder.</returns>
3396
IAndJsonSerializerSettingsTestBuilder WithNullValueHandling(NullValueHandling nullValueHandling);
3497

98+
/// <summary>
99+
/// Tests the ObjectCreationHandling property in a JSON serializer settings object.
100+
/// </summary>
101+
/// <param name="objectCreationHandling">Expected ObjectCreationHandling.</param>
102+
/// <returns>And JSON serializer settings test builder.</returns>
35103
IAndJsonSerializerSettingsTestBuilder WithObjectCreationHandling(ObjectCreationHandling objectCreationHandling);
36104

105+
/// <summary>
106+
/// Tests the PreserveReferencesHandling property in a JSON serializer settings object.
107+
/// </summary>
108+
/// <param name="preserveReferencesHandling">Expected PreserveReferencesHandling.</param>
109+
/// <returns>And JSON serializer settings test builder.</returns>
37110
IAndJsonSerializerSettingsTestBuilder WithPreserveReferencesHandling(
38111
PreserveReferencesHandling preserveReferencesHandling);
39112

113+
/// <summary>
114+
/// Tests the ReferenceLoopHandling property in a JSON serializer settings object.
115+
/// </summary>
116+
/// <param name="referenceLoopHandling">Expected ReferenceLoopHandling.</param>
117+
/// <returns>And JSON serializer settings test builder.</returns>
40118
IAndJsonSerializerSettingsTestBuilder WithReferenceLoopHandling(ReferenceLoopHandling referenceLoopHandling);
41119

120+
/// <summary>
121+
/// Tests the FormatterAssemblyStyle property in a JSON serializer settings object.
122+
/// </summary>
123+
/// <param name="typeNameAssemblyFormat">Expected FormatterAssemblyStyle.</param>
124+
/// <returns>And JSON serializer settings test builder.</returns>
42125
IAndJsonSerializerSettingsTestBuilder WithTypeNameAssemblyFormat(FormatterAssemblyStyle typeNameAssemblyFormat);
43126

127+
/// <summary>
128+
/// Tests the TypeNameHandling property in a JSON serializer settings object.
129+
/// </summary>
130+
/// <param name="typeNameHandling">Expected TypeNameHandling.</param>
131+
/// <returns>And JSON serializer settings test builder.</returns>
44132
IAndJsonSerializerSettingsTestBuilder WithTypeNameHandling(TypeNameHandling typeNameHandling);
45133
}
46134
}

src/MyWebApi/Builders/Contracts/Json/IJsonTestBuilder.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,37 @@
1010
/// </summary>
1111
public interface IJsonTestBuilder : IBaseResponseModelTestBuilder
1212
{
13+
/// <summary>
14+
/// Tests whether JSON result has the default UTF8 encoding.
15+
/// </summary>
16+
/// <returns>And JSON test builder.</returns>
1317
IAndJsonTestBuilder WithDefaultEncoding();
1418

19+
/// <summary>
20+
/// Tests whether JSON result has the provided encoding.
21+
/// </summary>
22+
/// <param name="encoding">Expected encoding to test with.</param>
23+
/// <returns>And JSON test builder.</returns>
1524
IAndJsonTestBuilder WithEncoding(Encoding encoding);
1625

26+
/// <summary>
27+
/// Tests whether JSON result has the default JSON serializer settings.
28+
/// </summary>
29+
/// <returns>And JSON test builder.</returns>
1730
IAndJsonTestBuilder WithDefaulJsonSerializerSettings();
1831

32+
/// <summary>
33+
/// Tests whether JSON result has the provided JSON serializer settings.
34+
/// </summary>
35+
/// <param name="jsonSerializerSettings">Expected JSON serializer settings to test with.</param>
36+
/// <returns>And JSON test builder.</returns>
1937
IAndJsonTestBuilder WithJsonSerializerSettings(JsonSerializerSettings jsonSerializerSettings);
2038

39+
/// <summary>
40+
/// Tests whether JSON result has JSON serializer settings by using builder.
41+
/// </summary>
42+
/// <param name="jsonSerializerSettingsBuilder">Builder for creating JSON serializer settings.</param>
43+
/// <returns>And JSON test builder.</returns>
2144
IAndJsonTestBuilder WithJsonSerializerSettings(
2245
Action<IJsonSerializerSettingsTestBuilder> jsonSerializerSettingsBuilder);
2346
}

0 commit comments

Comments
 (0)