public async Task Handle_should_create_entity() { await using var dbContext = _fixture.BuildDbContext(); var studentsRepo = new StudentsRepository(dbContext); var coursesRepo = new CoursesRepository(dbContext); var messagesRepository = NSubstitute.Substitute.For <IMessagesRepository>(); var eventSerializer = NSubstitute.Substitute.For <IEventSerializer>(); var unitOfWork = new SchoolUnitOfWork(dbContext, coursesRepo, studentsRepo, messagesRepository, eventSerializer); var sut = new CreateStudentHandler(new FakeValidator <CreateStudent>(), unitOfWork); var command = new CreateStudent(Guid.NewGuid(), "new", "student"); await sut.Handle(command, CancellationToken.None); var createdStudent = await studentsRepo.FindByIdAsync(command.StudentId, CancellationToken.None); createdStudent.Should().NotBeNull(); createdStudent.Id.Should().Be(command.StudentId); createdStudent.Firstname.Should().Be(command.StudentFirstname); createdStudent.Lastname.Should().Be(command.StudentLastname); }