Skip to content

Commit e6d53d0

Browse files
committed
Removed response model state error test builder (closes #159)
1 parent 5c24d7f commit e6d53d0

File tree

10 files changed

+36
-22
lines changed

10 files changed

+36
-22
lines changed

src/MyTested.AspNetCore.Mvc.Abstractions/Builders/Base/BaseTestBuilderWithComponent.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,7 @@ public IAndTestBuilder ShouldPassForThe<TComponent>(Func<TComponent, bool> predi
6969

7070
return new AndTestBuilder(this.TestContext);
7171
}
72+
73+
protected IAndTestBuilder NewAndTestBuilder() => new AndTestBuilder(this.TestContext);
7274
}
7375
}

src/MyTested.AspNetCore.Mvc.Controllers/Builders/ActionResults/Ok/OkTestBuilder.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using System.Net;
55
using Base;
66
using Contracts.ActionResults.Ok;
7-
using Contracts.Base;
87
using Exceptions;
98
using Internal.TestContexts;
109
using Microsoft.AspNetCore.Mvc;

src/MyTested.AspNetCore.Mvc.Controllers/Builders/And/AndActionResultTestBuilder.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ public AndActionResultTestBuilder(ControllerTestContext testContext)
2626

2727
/// <inheritdoc />
2828
public IActionResultTestBuilder<TActionResult> AndAlso()
29-
{
30-
return new ActionResultTestBuilder<TActionResult>(this.TestContext);
31-
}
29+
=> new ActionResultTestBuilder<TActionResult>(this.TestContext);
3230
}
3331
}

src/MyTested.AspNetCore.Mvc.Controllers/Builders/And/AndTestBuilderWithInvokedAction.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
namespace MyTested.AspNetCore.Mvc.Builders.And
22
{
33
using Base;
4+
using Contracts.And;
45
using Internal.TestContexts;
6+
using Contracts.Base;
57

68
/// <summary>
79
/// Provides additional testing methods.
810
/// </summary>
9-
public class AndTestBuilderWithInvokedAction : BaseTestBuilderWithInvokedAction
11+
public class AndTestBuilderWithInvokedAction : BaseTestBuilderWithInvokedAction, IAndTestBuilderWithInvokedAction
1012
{
1113
/// <summary>
1214
/// Initializes a new instance of the <see cref="AndTestBuilderWithInvokedAction"/> class.
@@ -16,5 +18,8 @@ public AndTestBuilderWithInvokedAction(ControllerTestContext testContext)
1618
: base(testContext)
1719
{
1820
}
21+
22+
/// <inheritdoc />
23+
public IBaseTestBuilderWithInvokedAction AndAlso() => this;
1924
}
2025
}

src/MyTested.AspNetCore.Mvc.Controllers/Builders/Base/BaseTestBuilderWithActionResult.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,6 @@ protected BaseTestBuilderWithActionResult(ControllerTestContext testContext)
2828
/// <value>Action result to be tested.</value>
2929
public TActionResult ActionResult => this.TestContext.MethodResultAs<TActionResult>();
3030

31-
/// <summary>
32-
/// Initializes new instance of builder providing AndAlso method.
33-
/// </summary>
34-
/// <returns>Test builder of type <see cref="IAndActionResultTestBuilder{TActionResult}"/>.</returns>
35-
public IAndActionResultTestBuilder<TActionResult> NewAndTestBuilder()
36-
{
37-
return new AndActionResultTestBuilder<TActionResult>(this.TestContext);
38-
}
39-
4031
/// <summary>
4132
/// Creates new <see cref="AndTestBuilderWithActionResult{TActionResult}"/>.
4233
/// </summary>

src/MyTested.AspNetCore.Mvc.Controllers/Builders/Base/BaseTestBuilderWithInvokedAction.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{
33
using System;
44
using And;
5+
using Contracts.And;
56
using Contracts.Base;
67
using Internal.TestContexts;
78

@@ -30,7 +31,7 @@ protected BaseTestBuilderWithInvokedAction(ControllerTestContext testContext)
3031
/// Creates new <see cref="AndTestBuilderWithInvokedAction"/>.
3132
/// </summary>
3233
/// <returns>Test builder of type <see cref="IBaseTestBuilderWithInvokedAction"/>.</returns>
33-
public IBaseTestBuilderWithInvokedAction NewAndTestBuilderWithInvokedAction()
34+
public IAndTestBuilderWithInvokedAction NewAndTestBuilderWithInvokedAction()
3435
=> new AndTestBuilderWithInvokedAction(this.TestContext);
3536
}
3637
}

src/MyTested.AspNetCore.Mvc.Controllers/Builders/Contracts/And/IAndActionResultTestBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using Base;
55

66
/// <summary>
7-
/// Class containing AndAlso() method allowing additional assertions after the action tests.
7+
/// Contains AndAlso() method allowing additional assertions after the action result tests.
88
/// </summary>
99
/// <typeparam name="TActionResult">Result from invoked action in ASP.NET Core MVC controller.</typeparam>
1010
public interface IAndActionResultTestBuilder<TActionResult> : IBaseTestBuilderWithActionResult<TActionResult>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
namespace MyTested.AspNetCore.Mvc.Builders.Contracts.And
2+
{
3+
using Base;
4+
5+
/// <summary>
6+
/// Contains AndAlso() method allowing additional assertions after the action call tests.
7+
/// </summary>
8+
public interface IAndTestBuilderWithInvokedAction : IBaseTestBuilderWithInvokedAction
9+
{
10+
/// <summary>
11+
/// Method allowing additional assertions after the action call tests.
12+
/// </summary>
13+
/// <returns>Test builder of <see cref="IBaseTestBuilderWithInvokedAction"/>.</returns>
14+
IBaseTestBuilderWithInvokedAction AndAlso();
15+
}
16+
}

src/MyTested.AspNetCore.Mvc.Controllers/Builders/Contracts/Models/IModelDetailsTestBuilder.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace MyTested.AspNetCore.Mvc.Builders.Contracts.Models
22
{
3+
using And;
34
using System;
45

56
/// <summary>
@@ -13,13 +14,13 @@ public interface IModelDetailsTestBuilder<TModel> : IModelErrorTestBuilder<TMode
1314
/// </summary>
1415
/// <param name="assertions">Action containing all assertions on the model.</param>
1516
/// <returns>Test builder of <see cref="IAndModelErrorTestBuilder{TResponseModel}"/>.</returns>
16-
IAndModelErrorTestBuilder<TModel> Passing(Action<TModel> assertions);
17+
IAndTestBuilderWithInvokedAction Passing(Action<TModel> assertions);
1718

1819
/// <summary>
1920
/// Tests whether the returned model from the invoked action passes the given predicate.
2021
/// </summary>
2122
/// <param name="predicate">Predicate testing the model.</param>
2223
/// <returns>Test builder of <see cref="IAndModelErrorTestBuilder{TResponseModel}"/>.</returns>
23-
IAndModelErrorTestBuilder<TModel> Passing(Func<TModel, bool> predicate);
24+
IAndTestBuilderWithInvokedAction Passing(Func<TModel, bool> predicate);
2425
}
2526
}

src/MyTested.AspNetCore.Mvc.Controllers/Builders/Models/ModelDetailsTestBuilder.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace MyTested.AspNetCore.Mvc.Builders.Models
22
{
33
using System;
4+
using Contracts.And;
45
using Contracts.Models;
56
using Exceptions;
67
using Internal.TestContexts;
@@ -24,14 +25,14 @@ public ModelDetailsTestBuilder(ControllerTestContext testContext)
2425
}
2526

2627
/// <inheritdoc />
27-
public IAndModelErrorTestBuilder<TModel> Passing(Action<TModel> assertions)
28+
public IAndTestBuilderWithInvokedAction Passing(Action<TModel> assertions)
2829
{
2930
assertions(this.Model);
30-
return new ModelErrorTestBuilder<TModel>(this.TestContext);
31+
return this.NewAndTestBuilderWithInvokedAction();
3132
}
3233

3334
/// <inheritdoc />
34-
public IAndModelErrorTestBuilder<TModel> Passing(Func<TModel, bool> predicate)
35+
public IAndTestBuilderWithInvokedAction Passing(Func<TModel, bool> predicate)
3536
{
3637
if (!predicate(this.Model))
3738
{
@@ -42,7 +43,7 @@ public IAndModelErrorTestBuilder<TModel> Passing(Func<TModel, bool> predicate)
4243
typeof(TModel).ToFriendlyTypeName()));
4344
}
4445

45-
return new ModelErrorTestBuilder<TModel>(this.TestContext);
46+
return this.NewAndTestBuilderWithInvokedAction();
4647
}
4748

4849
/// <inheritdoc />

0 commit comments

Comments
 (0)