Пример #1
0
        public async Task Login_InvalidCredentials_ShouldThrowAuthenticationException()
        {
            // Arrange
            var email = $"{Guid.NewGuid().ToString()}@example.com";
            await FirebaseHelper.CreateUser(email, Constants.Password, Constants.DisplayName);

            // Act & Assert
            Assert.That(async() => await AuthService.LoginWithEmailAndPassword(email, Constants.Password + "flop"),
                        Throws.Exception.TypeOf <AuthenticationException>());
        }
Пример #2
0
        public async Task Login_AlreadyLoggedIn_ShouldThrowAlreadyLoggedInException()
        {
            // Arrange
            var email = $"{Guid.NewGuid().ToString()}@example.com";
            await FirebaseHelper.CreateUser(email, Constants.Password, Constants.DisplayName);

            // Act & Assert
            await AuthService.LoginWithEmailAndPassword(email, Constants.Password);

            Assert.That(async() => await AuthService.LoginWithEmailAndPassword(email, Constants.Password),
                        Throws.Exception.TypeOf <AlreadyLoggedInException>());
        }
Пример #3
0
        public async Task Login_ValidCredentials_ShouldEmitCurrentUserChanged()
        {
            // Arrange
            var wasCalled = false;
            var email     = $"{Guid.NewGuid().ToString()}@example.com";
            await FirebaseHelper.CreateUser(email, Constants.Password, Constants.DisplayName);

            AuthService.CurrentUserChanged += u => { wasCalled = true; };

            // Act
            var user = await AuthService.LoginWithEmailAndPassword(email, Constants.Password);

            // Assert
            Assert.IsTrue(wasCalled);
            Assert.AreEqual(Constants.DisplayName, user?.DisplayName);
            Assert.AreEqual(email, user?.Email);
        }
Пример #4
0
        public async Task Logout_UserLoggedIn_ShouldEmitCurrentUserChangedAndPutCurrentUserToNull()
        {
            // Arrange
            var numberOfCalls = 0;
            var email         = $"{Guid.NewGuid().ToString()}@example.com";
            await FirebaseHelper.CreateUser(email, Constants.Password, Constants.DisplayName);

            AuthService.CurrentUserChanged += u => { ++numberOfCalls; };

            // Act
            await AuthService.LoginWithEmailAndPassword(email, Constants.Password);

            AuthService.Logout();

            // Assert
            Assert.AreEqual(2, numberOfCalls);
            Assert.IsNull(AuthService.CurrentUser);
        }