예제 #1
0
        public async Task NotInvokeICreateParserUserService_CreateParserUserOnceWithCorrectParameter_IfResultSucceededIsFalse()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            var extendedIdentityAuthAccountService = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            var user = new AuthUser();

            user.UserName = "******";
            var password = "******";

            var identityResult = new MockIdentityResult(false);

            identityAuthAccountService.Setup(s => s.CreateAsync(It.IsAny <AuthUser>(), It.IsAny <string>())).Returns(Task.Run <IdentityResult>(() => identityResult));

            var registerParserUserViewModel = new RegisterParserUserViewModel("any string");

            registerParserUserViewModelFactory.Setup(f => f.CreateRegisterParserUserViewModel(It.IsAny <string>())).Returns(registerParserUserViewModel);

            // Act
            await extendedIdentityAuthAccountService.CreateAsync(user, password);

            // Assert
            createParserUserService.Verify(s => s.CreateParserUser(registerParserUserViewModel), Times.Never);
        }
예제 #2
0
        public void CreateCorrectIExtendedIdentityAuthAccountServiceInstance_WhenParametersAreValid()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            // Act
            var actualInstance = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            // Assert
            Assert.That(actualInstance, Is.Not.Null);
            Assert.That(actualInstance, Is.InstanceOf <IIdentityAuthAccountService>());
            Assert.That(actualInstance, Is.InstanceOf <IExtendedIdentityAuthAccountService>());
        }
예제 #3
0
        public void ThrowArgumentNullException_WhenAuthUserParameterIsNull()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            var extendedIdentityAuthAccountService = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            AuthUser user     = null;
            var      password = "******";

            // Act & Assert
            Assert.That(
                async() => await extendedIdentityAuthAccountService.CreateAsync(user, password),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(AuthUser)));
        }
예제 #4
0
        public async Task InvokeIIdentityAuthAccountService_SignInAsyncMethodOnceWithCorrectParameter()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            var extendedIdentityAuthAccountService = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            var user = new AuthUser();

            // Act
            await extendedIdentityAuthAccountService.SignInAsync(user);

            // Assert
            identityAuthAccountService.Verify(s => s.SignInAsync(user), Times.Once);
        }
예제 #5
0
        public async Task InvokeIIdentityAuthAccountService_PasswordSignInAsyncOnceWithCorrectParameters()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            var extendedIdentityAuthAccountService = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            var email      = "any string";
            var password   = "******";
            var rememberMe = true;

            // Act
            await extendedIdentityAuthAccountService.PasswordSignInAsync(email, password, rememberMe);

            // Assert
            identityAuthAccountService.Verify(s => s.PasswordSignInAsync(email, password, rememberMe), Times.Once);
        }
예제 #6
0
        public async Task InvokeIIdentityAuthAccountService_CreateAsyncMethodOnceWithCorrectParameters()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            var extendedIdentityAuthAccountService = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            var user     = new AuthUser();
            var password = "******";

            var identityResult = new MockIdentityResult(false);

            identityAuthAccountService.Setup(s => s.CreateAsync(It.IsAny <AuthUser>(), It.IsAny <string>())).Returns(Task.Run <IdentityResult>(() => identityResult));

            // Act
            await extendedIdentityAuthAccountService.CreateAsync(user, password);

            // Assert
            identityAuthAccountService.Verify(s => s.CreateAsync(user, password), Times.Once);
        }
예제 #7
0
        public async Task ReturnCorrectIdentityResultInstance()
        {
            // Arrange
            var identityAuthAccountService         = new Mock <IIdentityAuthAccountService>();
            var registerParserUserViewModelFactory = new Mock <IRegisterParserUserViewModelFactory>();
            var createParserUserService            = new Mock <ICreateParserUserService>();

            var extendedIdentityAuthAccountService = new ExtendedIdentityAuthAccountService(identityAuthAccountService.Object, registerParserUserViewModelFactory.Object, createParserUserService.Object);

            var user     = new AuthUser();
            var password = "******";

            var expectedReturnedIdentityResultInstance = new MockIdentityResult(false);

            identityAuthAccountService.Setup(s => s.CreateAsync(It.IsAny <AuthUser>(), It.IsAny <string>())).Returns(Task.Run <IdentityResult>(() => expectedReturnedIdentityResultInstance));

            // Act
            var actualReturnedIdentityResultInstance = await extendedIdentityAuthAccountService.CreateAsync(user, password);

            // Assert
            Assert.That(actualReturnedIdentityResultInstance, Is.SameAs(expectedReturnedIdentityResultInstance));
        }