Search Results for

    Show / Hide Table of Contents

    Class Test_AuthServicePasswordReset

    Comprehensive test suite for password reset functionality in the AuthService.

    Inheritance
    object
    Test_AuthServicePasswordReset
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: OEMS.UnitTests.Application
    Assembly: OEMS.UnitTests.dll
    Syntax
    [TestClass]
    public sealed class Test_AuthServicePasswordReset
    Remarks

    This test class follows the testkonzept guidelines for unit testing with focus on:

    • Valid parameters (successful password reset scenarios)
    • Invalid parameters (invalid tokens, expired tokens, missing users)
    • Edge cases (malformed tokens, null values, concurrent operations)
    • Organization branding integration with email templates

    Test categories according to testkonzept:

    • Simple methods: 1x valid + 1x invalid parameters
    • Medium complexity: 2x valid + 2x invalid + 3x edge cases
    • Complex methods: 3x valid + 3x invalid + 5x edge cases

    Methods

    ConfirmPasswordResetAsync_AlreadyUsedToken_ReturnsFailure()

    Tests password reset with already used token.

    Declaration
    [TestMethod]
    public Task ConfirmPasswordResetAsync_AlreadyUsedToken_ReturnsFailure()
    Returns
    Type Description
    Task
    Remarks

    Edge case test: Token reuse prevention. Should prevent token reuse for security.

    ConfirmPasswordResetAsync_ExpiredToken_ReturnsFailure()

    Tests password reset with expired token.

    Declaration
    [TestMethod]
    public Task ConfirmPasswordResetAsync_ExpiredToken_ReturnsFailure()
    Returns
    Type Description
    Task
    Remarks

    Edge case test: Token expiration boundary condition. Should respect token expiration times for security.

    ConfirmPasswordResetAsync_InvalidToken_ReturnsFailure()

    Tests password reset confirmation with invalid token.

    Declaration
    [TestMethod]
    public Task ConfirmPasswordResetAsync_InvalidToken_ReturnsFailure()
    Returns
    Type Description
    Task
    Remarks

    Invalid parameter test: Token does not exist in database. Should return failure result with appropriate error message.

    ConfirmPasswordResetAsync_ValidTokenAndPassword_ReturnsSuccess()

    Tests successful password reset confirmation with valid token.

    Declaration
    [TestMethod]
    public Task ConfirmPasswordResetAsync_ValidTokenAndPassword_ReturnsSuccess()
    Returns
    Type Description
    Task
    Remarks

    Valid parameter test: Token exists, not expired, not used, password meets requirements. Verifies complete password update workflow.

    ConfirmPasswordResetAsync_WeakPassword_ReturnsFailure()

    Tests password reset confirmation with weak password.

    Declaration
    [TestMethod]
    public Task ConfirmPasswordResetAsync_WeakPassword_ReturnsFailure()
    Returns
    Type Description
    Task
    Remarks

    Invalid parameter test: Password does not meet security requirements. Should validate password strength before processing reset.

    InitiatePasswordResetAsync_EmailSendingFails_ReturnsFalse()

    Tests email sending failure during password reset initiation.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_EmailSendingFails_ReturnsFalse()
    Returns
    Type Description
    Task
    Remarks

    Edge case test: External service failure handling. Should handle email service failures gracefully.

    InitiatePasswordResetAsync_EmptyEmail_ReturnsTrue()

    Tests password reset initiation with empty email parameter.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_EmptyEmail_ReturnsTrue()
    Returns
    Type Description
    Task
    Remarks

    Edge case test: Empty string parameter handling. Returns true to prevent email enumeration attacks.

    InitiatePasswordResetAsync_NonExistentEmail_ReturnsTrue()

    Tests password reset initiation with non-existent email address.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_NonExistentEmail_ReturnsTrue()
    Returns
    Type Description
    Task
    Remarks

    Invalid parameter test: Email does not exist in system. Returns true to prevent email enumeration attacks.

    InitiatePasswordResetAsync_NullEmail_ReturnsTrue()

    Tests password reset initiation with null email parameter.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_NullEmail_ReturnsTrue()
    Returns
    Type Description
    Task
    Remarks

    Edge case test: Null parameter handling. Returns true to prevent email enumeration attacks.

    InitiatePasswordResetAsync_OrganizationWithoutBranding_UsesDefaultTemplate()

    Tests password reset email generation for organization without custom branding.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_OrganizationWithoutBranding_UsesDefaultTemplate()
    Returns
    Type Description
    Task
    Remarks

    Branding integration test: Verifies default styling when no custom branding exists. Should fall back to default template gracefully.

    InitiatePasswordResetAsync_ValidEmailWithBranding_ReturnsTrue()

    Tests successful password reset initiation with valid email address.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_ValidEmailWithBranding_ReturnsTrue()
    Returns
    Type Description
    Task
    Remarks

    Valid parameter test: User exists, organization has branding, email sent successfully. Verifies that the complete workflow executes correctly with organization branding.

    InitiatePasswordResetAsync_WithOrganizationBranding_AppliesBrandingToEmail()

    Tests that organization branding is correctly applied to password reset emails.

    Declaration
    [TestMethod]
    public Task InitiatePasswordResetAsync_WithOrganizationBranding_AppliesBrandingToEmail()
    Returns
    Type Description
    Task
    Remarks

    Branding integration test: Verifies custom colors and logo are used in email templates. This is specific to the organization branding feature.

    SetUp()

    Initializes test dependencies before each test method execution.

    Declaration
    [TestInitialize]
    public void SetUp()
    Remarks

    Sets up mock services and test data following testkonzept guidelines for isolation. Configures default successful scenarios that can be overridden in specific tests.

    ValidatePasswordResetTokenAsync_NonExistentToken_ReturnsFalse()

    Tests token validation with non-existent token.

    Declaration
    [TestMethod]
    public Task ValidatePasswordResetTokenAsync_NonExistentToken_ReturnsFalse()
    Returns
    Type Description
    Task
    Remarks

    Invalid parameter test: Token does not exist in database. Simple method error case according to testkonzept.

    ValidatePasswordResetTokenAsync_NullToken_ReturnsFalse()

    Tests token validation with null token parameter.

    Declaration
    [TestMethod]
    public Task ValidatePasswordResetTokenAsync_NullToken_ReturnsFalse()
    Returns
    Type Description
    Task
    Remarks

    Edge case test: Null parameter boundary condition. Should handle null gracefully.

    ValidatePasswordResetTokenAsync_ValidToken_ReturnsTrue()

    Tests successful password reset token validation.

    Declaration
    [TestMethod]
    public Task ValidatePasswordResetTokenAsync_ValidToken_ReturnsTrue()
    Returns
    Type Description
    Task
    Remarks

    Valid parameter test: Token exists, not expired, not used. Simple method validation according to testkonzept.

    In this article
    Back to top Generated by DocFX