public void AuthenticateUser_WithInvalidUsernamePassword_ReturnsZero()
        {
            // Arrange
            var service = new AccountService(_users.Object);

            // Act
            var result = service.AuthenticateUser("invalid", "invalid");

            // Assert
            Assert.That(result, Is.EqualTo(0));
        }
        public void AuthenticateUser_WithMultipleUsernamePassword_ThrowsException()
        {
            // Arrange

            _users.Setup(u => u.AuthenticateUser(It.IsAny<string>(), It.IsAny<string>())).Throws
                <InvalidOperationException>();
            var service = new AccountService(_users.Object);

            // Act
            var ex = Assert.Throws<InvalidOperationException>(() => service.AuthenticateUser(It.IsAny<string>(), It.IsAny<string>()));

            // Assert
            Assert.That(ex.Message, Is.EqualTo("Operation is not valid due to the current state of the object."));
        }
        public void AuthenticateUser_WithValidUsernamePassword_ReturnsUserId()
        {
            // Arrange
            const string username = "******";
            const string password = "******";
            const int userId = 1;
            var service = new AccountService(_users.Object);

            _users.Setup(u => u.AuthenticateUser(username, password)).Returns(userId);
            // Act
            var result = service.AuthenticateUser(username, password);

            // Assert
            Assert.That(result, Is.EqualTo(userId));
        }