Skip to content

Commit 50ce7d6

Browse files
committed
Added OfType methods to FileTestBuilderExtensions (#148)
1 parent 08a651b commit 50ce7d6

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/MyTested.AspNetCore.Mvc.Controllers.ActionResults/FileTestBuilderExtensions.cs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace MyTested.AspNetCore.Mvc
22
{
3+
using System;
34
using System.IO;
45
using System.Linq;
56
using Builders.ActionResults.File;
@@ -119,18 +120,31 @@ public static IAndFileTestBuilder WithFileProvider(
119120
public static IAndFileTestBuilder WithFileProviderOfType<TFileProvider>(
120121
this IFileTestBuilder fileTestBuilder)
121122
where TFileProvider : IFileProvider
123+
=> WithFileProviderOfType(fileTestBuilder, typeof(TFileProvider));
124+
125+
/// <summary>
126+
/// Tests whether the <see cref="VirtualFileResult"/>
127+
/// has the same file provider type as the provided one.
128+
/// </summary>
129+
/// <param name="fileTestBuilder">
130+
/// Instance of <see cref="IFileTestBuilder"/> type.
131+
/// </param>
132+
/// <param name="fileProviderType"></param>
133+
/// <returns>The same <see cref="IAndFileTestBuilder"/>.</returns>
134+
public static IAndFileTestBuilder WithFileProviderOfType(
135+
this IFileTestBuilder fileTestBuilder,Type fileProviderType)
122136
{
123137
var actualBuilder = GetFileTestBuilder<VirtualFileResult>(fileTestBuilder, FileProvider);
124138

125139
var virtualFileResult = actualBuilder.ActionResult;
126140
var actualFileProvider = virtualFileResult.FileProvider;
127141

128142
if (actualFileProvider == null ||
129-
Reflection.AreDifferentTypes(typeof(TFileProvider), actualFileProvider.GetType()))
143+
Reflection.AreDifferentTypes(fileProviderType, actualFileProvider.GetType()))
130144
{
131145
actualBuilder.ThrowNewFailedValidationException(
132146
FileProvider,
133-
$"to be of {typeof(TFileProvider).Name} type",
147+
$"to be of {fileProviderType.Name} type",
134148
$"instead received {actualFileProvider.GetName()}");
135149
}
136150

0 commit comments

Comments
 (0)