mirror of
https://github.com/alex289/CleanArchitecture.git
synced 2025-06-30 02:31:08 +00:00
61 lines
1.6 KiB
C#
61 lines
1.6 KiB
C#
using System;
|
|
using CleanArchitecture.Application.Queries.Users.GetAll;
|
|
using CleanArchitecture.Application.SortProviders;
|
|
using CleanArchitecture.Domain.Entities;
|
|
using CleanArchitecture.Domain.Enums;
|
|
using CleanArchitecture.Domain.Interfaces.Repositories;
|
|
using MockQueryable.EntityFrameworkCore;
|
|
using NSubstitute;
|
|
|
|
namespace CleanArchitecture.Application.Tests.Fixtures.Queries.Users;
|
|
|
|
public sealed class GetAllUsersTestFixture : QueryHandlerBaseFixture
|
|
{
|
|
private IUserRepository UserRepository { get; }
|
|
public GetAllUsersQueryHandler Handler { get; }
|
|
public Guid ExistingUserId { get; } = Guid.NewGuid();
|
|
|
|
public GetAllUsersTestFixture()
|
|
{
|
|
UserRepository = Substitute.For<IUserRepository>();
|
|
var sortingProvider = new UserViewModelSortProvider();
|
|
|
|
Handler = new GetAllUsersQueryHandler(UserRepository, sortingProvider);
|
|
}
|
|
|
|
public User SetupUserAsync()
|
|
{
|
|
var user = new User(
|
|
ExistingUserId,
|
|
Guid.NewGuid(),
|
|
"max@mustermann.com",
|
|
"Max",
|
|
"Mustermann",
|
|
"Password",
|
|
UserRole.User);
|
|
|
|
var query = new[] { user }.BuildMock();
|
|
|
|
UserRepository.GetAllNoTracking().Returns(query);
|
|
|
|
return user;
|
|
}
|
|
|
|
public void SetupDeletedUserAsync()
|
|
{
|
|
var user = new User(
|
|
ExistingUserId,
|
|
Guid.NewGuid(),
|
|
"max@mustermann.com",
|
|
"Max",
|
|
"Mustermann",
|
|
"Password",
|
|
UserRole.User);
|
|
|
|
user.Delete();
|
|
|
|
var query = new[] { user }.BuildMock();
|
|
|
|
UserRepository.GetAllNoTracking().Returns(query);
|
|
}
|
|
} |