Class Factory
a factory for instantiating endpoints/event/mappers/validators/etc. for testing purposes
Inherited Members
Namespace: FastEndpoints
Assembly: FastEndpoints.dll
Syntax
public static class Factory
Methods
AddServicesForUnitTesting(IServiceCollection)
adds the minimum required set of services for unit testing FE endpoints
Declaration
public static IServiceCollection AddServicesForUnitTesting(this IServiceCollection services)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | services |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
AddTestServices(HttpContext, Action<IServiceCollection>)
register fake/mock/test services for the http context. typically only used with unit tests with the Factory.Create() method/>
Declaration
public static void AddTestServices(this HttpContext ctx, Action<IServiceCollection> s)
Parameters
| Type | Name | Description |
|---|---|---|
| HttpContext | ctx | |
| Action<IServiceCollection> | s | an action for adding services to the IServiceCollection |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | thrown if the RequestServices is not empty |
CreateEvent<TEvent>(IEnumerable<IEventHandler<TEvent>>, Action<IServiceCollection>?)
get an instance of an event suitable for unit testing.
Declaration
public static TEvent CreateEvent<TEvent>(IEnumerable<IEventHandler<TEvent>> handlers, Action<IServiceCollection>? s = null) where TEvent : class, IEvent
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<IEventHandler<TEvent>> | handlers | the fake/mock event handlers to register for this event |
| Action<IServiceCollection> | s | an optional action for adding services to the IServiceCollection |
Returns
| Type | Description |
|---|---|
| TEvent |
Type Parameters
| Name | Description |
|---|---|
| TEvent | the type of the event |
CreateMapper<TMapper>(Action<IServiceCollection>)
get an instance of a mapper that uses Resolve<T>() methods to obtain services registered in the DI container.
Declaration
public static TMapper CreateMapper<TMapper>(Action<IServiceCollection> s) where TMapper : class, IMapper
Parameters
| Type | Name | Description |
|---|---|---|
| Action<IServiceCollection> | s | an action for adding services to the IServiceCollection |
Returns
| Type | Description |
|---|---|
| TMapper |
Type Parameters
| Name | Description |
|---|---|
| TMapper | the type of the mapper |
CreateValidator<TValidator>(Action<IServiceCollection>)
get an instance of a validator that uses Resolve<T>() methods to obtain services registered in the DI container.
Declaration
public static TValidator CreateValidator<TValidator>(Action<IServiceCollection> s) where TValidator : class, IValidator
Parameters
| Type | Name | Description |
|---|---|---|
| Action<IServiceCollection> | s | an action for adding services to the IServiceCollection |
Returns
| Type | Description |
|---|---|
| TValidator |
Type Parameters
| Name | Description |
|---|---|
| TValidator | the type of the validator |
Create<TEndpoint>(DefaultHttpContext, params object?[])
get an instance of an endpoint suitable for unit testing
Declaration
public static TEndpoint Create<TEndpoint>(DefaultHttpContext httpContext, params object?[] ctorDependencies) where TEndpoint : class, IEndpoint
Parameters
| Type | Name | Description |
|---|---|---|
| DefaultHttpContext | httpContext | a default http context object |
| object[] | ctorDependencies | the dependencies of the endpoint if it has any constructor injected dependencies |
Returns
| Type | Description |
|---|---|
| TEndpoint |
Type Parameters
| Name | Description |
|---|---|
| TEndpoint | the type of the endpoint to create an instance of |
Create<TEndpoint>(Action<DefaultHttpContext>, params object?[])
get an instance of an endpoint suitable for unit testing
Declaration
public static TEndpoint Create<TEndpoint>(Action<DefaultHttpContext> httpContext, params object?[] ctorDependencies) where TEndpoint : class, IEndpoint
Parameters
| Type | Name | Description |
|---|---|---|
| Action<DefaultHttpContext> | httpContext | an action for configuring the default http context object |
| object[] | ctorDependencies | the dependencies of the endpoint if it has any constructor injected arguments |
Returns
| Type | Description |
|---|---|
| TEndpoint |
Type Parameters
| Name | Description |
|---|---|
| TEndpoint | the type of the endpoint to create an instance of |
Create<TEndpoint>(params object?[])
get an instance of an endpoint suitable for unit testing
Declaration
public static TEndpoint Create<TEndpoint>(params object?[] ctorDependencies) where TEndpoint : class, IEndpoint
Parameters
| Type | Name | Description |
|---|---|---|
| object[] | ctorDependencies | the dependencies of the endpoint if it has any constructor injected dependencies |
Returns
| Type | Description |
|---|---|
| TEndpoint |
Type Parameters
| Name | Description |
|---|---|
| TEndpoint | the type of the endpoint to create an instance of |
RegisterTestServices(Action<IServiceCollection>)
register fake/mock/test services for the current test execution context.
Declaration
public static void RegisterTestServices(Action<IServiceCollection> s)
Parameters
| Type | Name | Description |
|---|---|---|
| Action<IServiceCollection> | s | an action for adding services to the IServiceCollection |