I'm trying to test a handler from my api that is called by the mediator but it seams that it can't be called in the test case. I don't want to mock the mediator nor the handler, just the repositories.
Here my teste code:
Код: Выделить всё
using NUnit.Framework; using Domain.Model; using Core.Handlers.TimerRegister; using System.Security.Cryptography.X509Certificates; using Moq; using Repository.IRepository; using System; using MediatR; namespace EmployeeRegisterTest.CoreTest { [TestFixture] public class TimerRegisterTest { private Mock employeeRepositoryMock = new Mock(); private Mock timerRegisterRepositoryMock = new Mock(); private TimerRegisterCommandHandler TimerRegisterCommandHandler; private IMediator mediator; [Test] public async Task MustRegisterTimeCorrecttly() { var employee = new Employee { Email = "[email protected]", EmployeeName = "Jorge", Password = "$2a$11$p0655c8x/QoQAjnor0vT8eoK6OagnT1g34b/YN9NkPOtsvlFf828G", Role = "mananger", Id = 2 }; var timeRegister = new TimeRegister { Employee = employee, Id = 1, EmployeeTimeRegister = DateTime.Now }; var timerRegistarList = new List(); timerRegistarList.Add(timeRegister); var timeRegisterCommandRequest = new TimeRegisterCommandRequest { EmployeeEmail = employee.Email, EmployeeName = employee.EmployeeName, }; employeeRepositoryMock.Setup( x => x.GetEmployee("[email protected]")) .Returns(Task.FromResult(employee)); timerRegisterRepositoryMock.Setup(x => x.GetTodayTimeRegisterByEmployeeAndDate(employee, DateTime.Now)) .Returns(Task.FromResult(timerRegistarList)); var returns = await mediator.Send(timeRegisterCommandRequest); Assert.Equals(returns.message, "Register created successfuly"); } } }
Источник: https://stackoverflow.com/questions/781 ... sing-nunit