public async void Create_MainLangNotSpecified_Error( [Frozen] Mock<ISignInManager> signInManager, [Frozen] Mock<IUserManager> userManager, [NoAutoProperties] UserController target) { var request = new CreateUserViewModel { MainLanguage = Guid.Empty, TrainingLanguage = Guid.NewGuid() }; userManager .Setup(x => x.CreateAsync(It.IsAny<User>(), It.IsAny<string>())) .Throws(new Exception()); var actual = await target.Create(request); actual.Should().BeOfType<BadRequestObjectResult>(); signInManager.Verify(x => x.SignInAsync(It.IsAny<User>()), Times.Never); }
public async void Create_AdditionalLanguageSameAsMain_Error( [Frozen] Mock<ISignInManager> signInManager, [Frozen] Mock<IUserManager> userManager, [NoAutoProperties] UserController target) { var mainLang = Guid.NewGuid(); var request = new CreateUserViewModel { MainLanguage = mainLang, TrainingLanguage = Guid.NewGuid(), AdditionalLanguages = new List<Guid> { mainLang, Guid.NewGuid() } }; var actual = await target.Create(request); actual.Should().BeOfType<BadRequestObjectResult>(); userManager.Verify(x => x.CreateAsync(It.IsAny<User>(), It.IsAny<string>()), Times.Never); signInManager.Verify(x => x.SignInAsync(It.IsAny<User>()), Times.Never); }
public async void Create_AllIsOk_Ok( [Frozen] Mock<ISignInManager> signInManager, [Frozen] Mock<IUserManager> userManager, [Frozen] Mock<ILanguageRepository> languageRepository, [NoAutoProperties] UserController target) { var request = new CreateUserViewModel { MainLanguage = Guid.NewGuid(), TrainingLanguage = Guid.NewGuid(), Password = "******", Email = "test" }; languageRepository.Setup(x => x.Get(request.MainLanguage)).Returns(new Language()); languageRepository.Setup(x => x.Get(request.TrainingLanguage)).Returns(new Language()); userManager.Setup(x => x.CreateAsync(It.IsAny<User>(), It.IsAny<string>())) .ReturnsAsync(IdentityResult.Success); var actual = await target.Create(request); actual.Should().BeOfType<CreatedResult>(); var createdResult = actual as CreatedResult; createdResult.Location.Should().StartWith("/api/user/"); userManager.Verify(x => x.CreateAsync(It.Is<User>(u => u.Email == request.Email), request.Password), Times.Once); signInManager.Verify(x => x.SignInAsync(It.Is<User>(u => u.Email == request.Email)), Times.Once); }
public async void Create_UserManagerIsNotSuccess_Error( [Frozen] Mock<ISignInManager> signInManager, [Frozen] Mock<IUserManager> userManager, [Frozen] Mock<ILanguageRepository> languageRepository, [NoAutoProperties] UserController target) { var request = new CreateUserViewModel { MainLanguage = Guid.NewGuid(), TrainingLanguage = Guid.NewGuid() }; languageRepository.Setup(x => x.Get(request.MainLanguage)).Returns(new Language()); languageRepository.Setup(x => x.Get(request.TrainingLanguage)).Returns(new Language()); userManager.Setup(x => x.CreateAsync(It.IsAny<User>(), It.IsAny<string>())) .ReturnsAsync(IdentityResult.Failed(new IdentityError())); var actual = await target.Create(request); actual.Should().BeOfType<BadRequestObjectResult>(); userManager.Verify(x => x.CreateAsync(It.IsAny<User>(), It.IsAny<string>()), Times.Once); signInManager.Verify(x => x.SignInAsync(It.IsAny<User>()), Times.Never); }