Задать вопрос

Как мокнуть UserManager?

Привет, подскажите как правильно мокнуть UserManager из библиотеки Microsoft.AspNet.Identity
  • Вопрос задан
  • 782 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
Kamrit
@Kamrit Автор вопроса
QA Engineer
//Arrange
            var _userRepository = new Mock<IUserRepository>();
            var _userStore = new Mock<IUserStore<ApplicationUser>>();
            var userManager = new UserManager<ApplicationUser>(_userStore.Object);
            var applicationUserManager = new ApplicationUserManager(_userStore.Object);
            var _countersIdRepository = new Mock<ICountersIdRepository>();
            var _userService = new Mock<IUserService>();

            RegisterBindingModel registerModel = new RegisterBindingModel() { Email = "test@gmail.com", Password = "qweasd" };
            ApplicationUser appUser = new ApplicationUser() { FirstName = "TestName", LastName = "TestLastName" };
            UserService userService = new UserService(_userRepository.Object, _countersIdRepository.Object);

            _userStore.Setup(x => x.CreateAsync(appUser)).Returns(Task.FromResult(IdentityResult.Success));
            _countersIdRepository.Setup(x => x.GetUserLastId()).Returns(10);
            _userService.Setup(x => x.Register(registerModel)).Returns(Task.FromResult(IdentityResult.Success));

            userService.UserManager = applicationUserManager;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы