Skip to content

Add modules

Add modules #3843

GitHub Actions / Unit tests succeeded Feb 17, 2025 in 1s

296 passed, 0 failed and 0 skipped

Tests passed successfully

✅ ./src/HomeInventory/coverage/_fv-az1044-908_2025-02-17_15_34_00.trx

296 tests were completed in 5s with 296 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
HomeInventory.Tests.Application.FeatureFlagTests 8✅ 23ms
HomeInventory.Tests.Core.CollectionExtensionsTests 2✅ 8ms
HomeInventory.Tests.Core.EnumerableExtensionsTests 3✅ 49ms
HomeInventory.Tests.Core.ExecuteTests 6✅ 11ms
HomeInventory.Tests.Core.OptionExtensionsTests 3✅ 423ms
HomeInventory.Tests.Core.ReflectionMethodsTests 4✅ 1ms
HomeInventory.Tests.Core.ScopeTests 7✅ 11ms
HomeInventory.Tests.Core.TypeExtensionsTests 4✅ 2ms
HomeInventory.Tests.DependencyInjection.WebDependencyInjectionTests 1✅ 163ms
HomeInventory.Tests.Domain.EntityTests 14✅ 16ms
HomeInventory.Tests.Domain.EquatableComponentTests 14✅ 45ms
HomeInventory.Tests.Domain.FixedDateTimeServiceTests 3✅ 2ms
HomeInventory.Tests.Domain.ValueObjects.AmountFactoryTests 5✅ 6ms
HomeInventory.Tests.Domain.ValueObjects.AmountTests 3✅ 3ms
HomeInventory.Tests.Domain.ValueObjects.AmountUnitTests 6✅ 103ms
HomeInventory.Tests.Domain.ValueObjects.MeasurementTypeTests 5✅ 5ms
HomeInventory.Tests.Framework.Assertions.JsonElementAssertionsTests 3✅ 9ms
HomeInventory.Tests.Framework.Assertions.ObjectExtensionsTests 4✅ 4ms
HomeInventory.Tests.Framework.Assertions.ServiceDescriptorExtensionsTests 3✅ 2ms
HomeInventory.Tests.Framework.Customizations.ApiBehaviorOptionsCustomizationTests 1✅ 5ms
HomeInventory.Tests.Framework.Customizations.RegisterRequestCustomizationTests 1✅ 5ms
HomeInventory.Tests.Middlewares.CorrelationIdContainerTests 3✅ 1ms
HomeInventory.Tests.Middlewares.CorrelationIdMiddlewareTests 7✅ 148ms
HomeInventory.Tests.Modules.ApplicationMediatrSupportModuleTests 1✅ 133ms
HomeInventory.Tests.Modules.BaseModuleTests 7✅ 31ms
HomeInventory.Tests.Modules.DomainModuleTests 1✅ 4ms
HomeInventory.Tests.Modules.InfrastructureDatabaseModuleTests 1✅ 6ms
HomeInventory.Tests.Modules.InfrastructureMappingModuleTests 1✅ 4ms
HomeInventory.Tests.Modules.InfrastructureSpecificationModuleTests 1✅ 7ms
HomeInventory.Tests.Modules.InfrastructureUserManagementDatabaseModuleTests 1✅ 10ms
HomeInventory.Tests.Modules.InfrastructureUserManagementMappingModuleTests 1✅ 2ms
HomeInventory.Tests.Modules.InfrastructureUserManagementModuleTests 1✅ 4ms
HomeInventory.Tests.Modules.LoggingModuleTests 1✅ 5ms
HomeInventory.Tests.Modules.ModuleBuildContextTests 2✅ 7ms
HomeInventory.Tests.Modules.WebErrorHandlingModuleTests 1✅ 8ms
HomeInventory.Tests.Presentation.Web.DynamicAuthorizationHandlerTests 8✅ 105ms
HomeInventory.Tests.Presentation.Web.FluentOptionsValidatorTests 3✅ 15ms
HomeInventory.Tests.Presentation.Web.SectionPathTests 2✅ 8ms
HomeInventory.Tests.Presentation.Web.ValidationEndpointFilterTests 3✅ 88ms
HomeInventory.Tests.Systems.Authentication.BCryptPasswordHasherTests 3✅ 99ms
HomeInventory.Tests.Systems.Authentication.GuidJwtIdentityGeneratorTests 2✅ 2ms
HomeInventory.Tests.Systems.Authentication.JwtBearerOptionsSetupTests 1✅ 6ms
HomeInventory.Tests.Systems.Authentication.JwtTokenGeneratorTests 1✅ 74ms
HomeInventory.Tests.Systems.Handlers.AuthenticateQueryHandlerTests 3✅ 23ms
HomeInventory.Tests.Systems.Handlers.LoggingBehaviorTests 4✅ 32ms
HomeInventory.Tests.Systems.Handlers.RegisterCommandHandlerTests 2✅ 24ms
HomeInventory.Tests.Systems.Handlers.UnitOfWorkBehaviorTests 4✅ 21ms
HomeInventory.Tests.Systems.Handlers.UserIdQueryHandlerTests 2✅ 30ms
HomeInventory.Tests.Systems.Mapping.ContractsMappingsTests 2✅ 9ms
HomeInventory.Tests.Systems.Mapping.ModelMappingsTests 4✅ 87ms
HomeInventory.Tests.Systems.Mapping.UlidIdConverterTests 3✅ 16ms
HomeInventory.Tests.Systems.Mapping.UserManagementContractsMappingsTests 5✅ 17ms
HomeInventory.Tests.Systems.Mapping.UserManagementModelMappingsTests 8✅ 116ms
HomeInventory.Tests.Systems.Modules.AuthenticationModuleTests 3✅ 38ms
HomeInventory.Tests.Systems.Modules.ErrorMappingTests 6✅ 6ms
HomeInventory.Tests.Systems.Modules.HomeInventoryProblemDetailsFactoryTests 14✅ 47ms
HomeInventory.Tests.Systems.Modules.JsonOpenApiValueConverterTests 4✅ 6ms
HomeInventory.Tests.Systems.Modules.SwaggerDefaultValuesTests 10✅ 122ms
HomeInventory.Tests.Systems.Modules.UserManagementModuleTests 3✅ 213ms
HomeInventory.Tests.Systems.Persistence.AmountValueObjectConverterTests 1✅ 13ms
HomeInventory.Tests.Systems.Persistence.ByIdFilterSpecificationTests 4✅ 176ms
HomeInventory.Tests.Systems.Persistence.EventsPersistenceServiceTests 1✅ 360ms
HomeInventory.Tests.Systems.Persistence.OutboxMessageConfigurationTests 2✅ 112ms
HomeInventory.Tests.Systems.Persistence.PersistenceHealthCheckTests 3✅ 290ms
HomeInventory.Tests.Systems.Persistence.RepositoryTests 14✅ 87ms
HomeInventory.Tests.Systems.Persistence.UserHasEmailSpecificationTests 2✅ 13ms
HomeInventory.Tests.Systems.Persistence.UserModelConfigurationTests 1✅ 3ms
HomeInventory.Tests.Systems.Persistence.UserRepositoryTests 4✅ 170ms
HomeInventory.Tests.Validation.LoginRequestValidatorTests 6✅ 4ms
HomeInventory.Tests.Validation.PasswordValidatorTests 18✅ 10ms
HomeInventory.Tests.Validation.RegisterRequestValidatorTests 11✅ 62ms

✅ HomeInventory.Tests.Application.FeatureFlagTests

✅ ConstructorShouldPreserveName
✅ CreateShouldPreserveName
✅ CreateWithContextShouldPreserveName
✅ IsEnabledContextShouldReturnManagerValue(expectedValue: False)
✅ IsEnabledContextShouldReturnManagerValue(expectedValue: True)
✅ IsEnabledShouldReturnManagerValue(expectedValue: False)
✅ IsEnabledShouldReturnManagerValue(expectedValue: True)
✅ WithContextShouldReturn

✅ HomeInventory.Tests.Core.CollectionExtensionsTests

✅ AddRange ShouldCallAdd
✅ AddRange ShouldNotCallAdd WhenListIsSupplied

✅ HomeInventory.Tests.Core.EnumerableExtensionsTests

✅ Concat Should AddItemAtTheEnd
✅ EmptyIfNull Should ReturnEmpty When Null
✅ EmptyIfNull Should ReturnOriginal When NotNull

✅ HomeInventory.Tests.Core.ExecuteTests

✅ AndCatch ShouldCatchExceptionAndReturnResult
✅ AndCatch ShouldReturnResult
✅ AndCatchAsync ShouldCatchException
✅ AndCatchAsync ShouldCatchExceptionAndReturnResult
✅ AndCatchAsync ShouldExecuteAction
✅ AndCatchAsync ShouldReturnResult

✅ HomeInventory.Tests.Core.OptionExtensionsTests

✅ Tap ShouldInvokeAction WhenOptionalHasValue
✅ Tap2 ShouldInvokeAction WhenOptionalHasValue
✅ Tap3 ShouldInvokeAction WhenOptionalHasValue

✅ HomeInventory.Tests.Core.ReflectionMethodsTests

✅ CreateInstance ShouldCreate When InternalCtorAndArg
✅ CreateInstance ShouldCreate When InternalCtorAndNoArgs
✅ CreateInstance ShouldCreate When PublicCtorAndArg
✅ CreateInstance ShouldCreate When PublicCtorAndNoArgs

✅ HomeInventory.Tests.Core.ScopeTests

✅ Get ShouldReturnContext WhenItIsSet
✅ Get ShouldReturnContext WhenResetAndDisposed
✅ Get ShouldReturnContext WhenSetMultipleTimesAndDisposed
✅ Get ShouldReturnLatestContext WhenSetMultipleTimes
✅ Get ShouldReturnNull WhenNothingIsSet
✅ Get ShouldReturnNull WhenResetIsCalled
✅ Get ShouldReturnNull WhenSetAndDisposed

✅ HomeInventory.Tests.Core.TypeExtensionsTests

✅ GetFieldsOfType Should ReturnValues
✅ GetFormattedName Should FormatGeneric
✅ GetFormattedName Should FormatGeneric2
✅ GetFormattedName Should NotFormatNonGeneric

✅ HomeInventory.Tests.DependencyInjection.WebDependencyInjectionTests

✅ ShouldRegister

✅ HomeInventory.Tests.Domain.EntityTests

✅ EqualsObject Should ReturnFalseWhenOtherHasDifferentId
✅ EqualsObject Should ReturnFalseWhenOtherHasDifferentType
✅ EqualsObject Should ReturnFalseWhenOtherIsNull
✅ EqualsObject Should ReturnTrueWhenOtherHasSameId
✅ EqualsObject Should ReturnTrueWhenSameReference
✅ EqualsTEntity Should ReturnFalseWhenOtherHasDifferentId
✅ EqualsTEntity Should ReturnFalseWhenOtherIsNull
✅ EqualsTEntity Should ReturnTrueWhenOtherHasSameId
✅ EqualsTEntity Should ReturnTrueWhenSameReference
✅ GetHashCode Should ReturnGetHashCodeFromId
✅ OpEquals Should ReturnFalseWhenOtherHasDifferentId
✅ OpEquals Should ReturnTrueWhenOtherHasSameId
✅ OpNotEquals Should ReturnFalseWhenOtherHasSameId
✅ OpNotEquals Should ReturnTrueWhenOtherHasDifferentId

✅ HomeInventory.Tests.Domain.EquatableComponentTests

✅ Equals ShouldBeEqualToComponentWithSameItems WhenManyComponents(count: 1)
✅ Equals ShouldBeEqualToComponentWithSameItems WhenManyComponents(count: 2)
✅ Equals ShouldBeEqualToComponentWithSameItems WhenManyComponents(count: 3)
✅ Equals ShouldBeEqualToEmpty WhenNoComponents
✅ Equals ShouldNotBeEqualToComponentWithDifferentItems WhenManyComponents(count: 1)
✅ Equals ShouldNotBeEqualToComponentWithDifferentItems WhenManyComponents(count: 2)
✅ Equals ShouldNotBeEqualToComponentWithDifferentItems WhenManyComponents(count: 3)
✅ Equals ShouldNotBeEqualToEmpty WhenManyComponents(count: 1)
✅ Equals ShouldNotBeEqualToEmpty WhenManyComponents(count: 2)
✅ Equals ShouldNotBeEqualToEmpty WhenManyComponents(count: 3)
✅ GetHashCode ShouldReturnCombinedComponentsHash WhenManyComponents(count: 1)
✅ GetHashCode ShouldReturnCombinedComponentsHash WhenManyComponents(count: 2)
✅ GetHashCode ShouldReturnCombinedComponentsHash WhenManyComponents(count: 3)
✅ GetHashCode ShouldReturnZero WhenNoComponents

✅ HomeInventory.Tests.Domain.FixedDateTimeServiceTests

✅ UtcNow ShouldReturnSuppliedTime
✅ UtcNow ShouldReturnSuppliedTimeFromOther
✅ UtcNow ShouldReturnSuppliedTimeInUTC

✅ HomeInventory.Tests.Domain.ValueObjects.AmountFactoryTests

✅ Create Should Return Amount When ValueIsValid
✅ Create Should Return Error When PieceIsFractional
✅ Create Should Return Error When ValueIsNegative
✅ Create Should Return Value When UnknownMeasurementType
✅ Create Should Return Value When UnknownUnit

✅ HomeInventory.Tests.Domain.ValueObjects.AmountTests

✅ Equals Should ReturnTrueIfSameValueAndUnit
✅ OpEquality Should ReturnTrueIfSameValueAndUnit
✅ OpInequality Should ReturnFalseIfSameValueAndUnit

✅ HomeInventory.Tests.Domain.ValueObjects.AmountUnitTests

✅ CanBeUsedAsDictionaryKey
✅ CreatedScaledShouldContainSuppliedId
✅ CreatedShouldContainSuppliedId
✅ CreateShouldPassTheCallerMemberNameAndType
✅ FieldsShouldHaveMatchedName
✅ Items Should NotBeEmpty

✅ HomeInventory.Tests.Domain.ValueObjects.MeasurementTypeTests

✅ CanBeUsedAsDictionaryKey
✅ CreatedShouldContainSuppliedId
✅ CreateShouldPassTheCallerMemberName
✅ FieldsShoulHaveMatchedName
✅ Items Should NotBeEmpty

✅ HomeInventory.Tests.Framework.Assertions.JsonElementAssertionsTests

✅ BeArrayEqualTo ShouldPass WhenBothEmpty
✅ BeArrayEqualTo ShouldPass WhenBothHasSameValue
✅ BeArrayEqualTo ShouldPass WhenBothNull

✅ HomeInventory.Tests.Framework.Assertions.ObjectExtensionsTests

✅ GetComparer ShouldReturnForNumeric
✅ GetComparer ShouldReturnForObject
✅ GetComparer ShouldReturnForReferenceType
✅ GetComparer ShouldReturnForValueType

✅ HomeInventory.Tests.Framework.Assertions.ServiceDescriptorExtensionsTests

✅ GetInstance ShouldReturnFromImplementationFactory
✅ GetInstance ShouldReturnFromImplementationInstance
✅ GetInstance ShouldReturnFromImplementationType

✅ HomeInventory.Tests.Framework.Customizations.ApiBehaviorOptionsCustomizationTests

✅ Customize Should ProvideCorrectCustomization

✅ HomeInventory.Tests.Framework.Customizations.RegisterRequestCustomizationTests

✅ Customize Should ProvideCorrectCustomization

✅ HomeInventory.Tests.Middlewares.CorrelationIdContainerTests

✅ CorrelationId Should NotBeEmpty When Created
✅ GenerateNew Should UpdateCorrelationId
✅ SetExisting Should UpdateCorrelationId

✅ HomeInventory.Tests.Middlewares.CorrelationIdMiddlewareTests

✅ InvokeAsync Should AddCorrelationIdToResponse
✅ InvokeAsync Should AwaitNext
✅ InvokeAsync Should CallNext
✅ InvokeAsync Should CreateCorrelationId When HeaderIsNotSet
✅ InvokeAsync Should NotSetCorrelationIdFromHeaders When ValueIsWrong(unexpectedId: "")
✅ InvokeAsync Should NotSetCorrelationIdFromHeaders When ValueIsWrong(unexpectedId: null)
✅ InvokeAsync Should SetCorrelationIdFromHeaders

✅ HomeInventory.Tests.Modules.ApplicationMediatrSupportModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.BaseModuleTests

✅ AddServicesAsync Should HaveNoSideEffects
✅ BuildAppAsync Should HaveNoSideEffects
✅ Dependencies Should BeEmpty When NoDependencies
✅ Dependencies Should ContainDependency When DeclaredDependency
✅ Flag Should BeAlwaysEnabled
✅ FlagWithContext Should BeAlwaysEnabled
✅ FlagWithContext Should HaveCorrectContext

✅ HomeInventory.Tests.Modules.DomainModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.InfrastructureDatabaseModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.InfrastructureMappingModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.InfrastructureSpecificationModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.InfrastructureUserManagementDatabaseModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.InfrastructureUserManagementMappingModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.InfrastructureUserManagementModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.LoggingModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Modules.ModuleBuildContextTests

✅ ApplicationBuilder Should ReturnApp
✅ EndpointRouteBuilder Should ReturnApp

✅ HomeInventory.Tests.Modules.WebErrorHandlingModuleTests

✅ ShouldRegisterServices

✅ HomeInventory.Tests.Presentation.Web.DynamicAuthorizationHandlerTests

✅ HandleRequirementAsync ShouldFail WhenContextResourceIsNotHttpContext
✅ HandleRequirementAsync ShouldFail WhenEndpointHasNoPermissions
✅ HandleRequirementAsync ShouldFail WhenHttpContextDoesNotHaveEndpoint
✅ HandleRequirementAsync ShouldFail WhenUserDoesNotHaveNameIdentifier
✅ HandleRequirementAsync ShouldFail WhenUserHasNoPermissions
✅ HandleRequirementAsync ShouldFail WhenUserHaveWrongNameIdentifier
✅ HandleRequirementAsync ShouldFail WhenUserHaveWrongNameIdentifierFormat
✅ HandleRequirementAsync ShouldSucceed WhenUserHasPermission

✅ HomeInventory.Tests.Presentation.Web.FluentOptionsValidatorTests

✅ Create Should ReturnValidator
✅ Validate Should CallValidator
✅ Validate Should Skip When NameIsDifferent

✅ HomeInventory.Tests.Presentation.Web.SectionPathTests

✅ Divide Should ReturnCombinedPath
✅ ToString Should ReturnPath

✅ HomeInventory.Tests.Presentation.Web.ValidationEndpointFilterTests

✅ InvokeAsync Should ReturnProblem When ArgumentIsInvalid
✅ InvokeAsync Should ReturnResult When NoArguments
✅ InvokeAsync Should ValidateArgument

✅ HomeInventory.Tests.Systems.Authentication.BCryptPasswordHasherTests

✅ HashAsync ShouldReturnDifferentHashesForDifferentInputs
✅ HashAsync ShouldReturnSomethingDifferentFromInput
✅ VerifyAsync ShouldConfirmHashed

✅ HomeInventory.Tests.Systems.Authentication.GuidJwtIdentityGeneratorTests

✅ GenerateNew Should ReturnNewValue WhenCalledSecondTime
✅ GenerateNew Should ReturnNotEmpty

✅ HomeInventory.Tests.Systems.Authentication.JwtBearerOptionsSetupTests

✅ Configure Should SetupOptions

✅ HomeInventory.Tests.Systems.Authentication.JwtTokenGeneratorTests

✅ GenerateTokenAsync Should GenerateCorrectTokenString

✅ HomeInventory.Tests.Systems.Handlers.AuthenticateQueryHandlerTests

✅ Handle OnBadPassword ReturnsError
✅ Handle OnNotFound ReturnsError
✅ Handle OnSuccess ReturnsResult

✅ HomeInventory.Tests.Systems.Handlers.LoggingBehaviorTests

✅ Handle Should LogAfterCallingNext
✅ Handle Should LogBeforeCallingNext
✅ Handle Should ReturnResponseFromNext
✅ Should BeResolved

✅ HomeInventory.Tests.Systems.Handlers.RegisterCommandHandlerTests

✅ Handle OnFailure ReturnsError
✅ Handle OnSuccess ReturnsResult

✅ HomeInventory.Tests.Systems.Handlers.UnitOfWorkBehaviorTests

✅ Handle Should CallSave When Success
✅ Handle Should NotCallSave When Error
✅ Handle Should ReturnResponseFromNext
✅ Should BeResolvedForCommand

✅ HomeInventory.Tests.Systems.Handlers.UserIdQueryHandlerTests

✅ Handle OnNotFound ReturnsError
✅ Handle OnSuccess ReturnsResult

✅ HomeInventory.Tests.Systems.Mapping.ContractsMappingsTests

✅ ShouldMap(source: typeof(HomeInventory.Application.Cqrs.Queries.Authenticate.AuthenticateResult), destination: typeof(HomeInventory.Contracts.LoginResponse))
✅ ShouldMap(source: typeof(HomeInventory.Contracts.LoginRequest), destination: typeof(HomeInventory.Application.Cqrs.Queries.Authenticate.AuthenticateQuery))

✅ HomeInventory.Tests.Systems.Mapping.ModelMappingsTests

✅ ShouldMap(sourceType: typeof(HomeInventory.Domain.ValueObjects.Amount), destinationType: typeof(HomeInventory.Infrastructure.Persistence.Models.ProductAmountModel))
✅ ShouldMap(sourceType: typeof(HomeInventory.Domain.ValueObjects.ProductId), destinationType: typeof(System.Ulid))
✅ ShouldMap(sourceType: typeof(HomeInventory.Infrastructure.Persistence.Models.ProductAmountModel), destinationType: typeof(HomeInventory.Domain.ValueObjects.Amount))
✅ ShouldMap(sourceType: typeof(System.Ulid), destinationType: typeof(HomeInventory.Domain.ValueObjects.ProductId))

✅ HomeInventory.Tests.Systems.Mapping.UlidIdConverterTests

✅ Convert Should Throw When IdIsEmpty
✅ TryConvert Should ReturnError When IdIsEmpty
✅ TryConvert Should ReturnValue When IdIsNotEmpty

✅ HomeInventory.Tests.Systems.Mapping.UserManagementContractsMappingsTests

✅ ShouldMap(source: typeof(HomeInventory.Application.UserManagement.Interfaces.Queries.UserIdResult), destination: typeof(HomeInventory.Contracts.UserManagement.RegisterResponse))
✅ ShouldMap(source: typeof(HomeInventory.Contracts.UserManagement.RegisterRequest), destination: typeof(HomeInventory.Application.UserManagement.Interfaces.Commands.RegisterCommand))
✅ ShouldMap(source: typeof(HomeInventory.Contracts.UserManagement.RegisterRequest), destination: typeof(HomeInventory.Application.UserManagement.Interfaces.Queries.UserIdQuery))
✅ ShouldMap(source: typeof(HomeInventory.Domain.UserManagement.ValueObjects.Email), destination: typeof(string))
✅ ShouldMap(source: typeof(HomeInventory.Domain.UserManagement.ValueObjects.UserId), destination: typeof(System.Ulid))

✅ HomeInventory.Tests.Systems.Mapping.UserManagementModelMappingsTests

✅ ShouldMap(source: typeof(HomeInventory.Domain.UserManagement.Aggregates.User), destination: typeof(HomeInventory.Infrastructure.UserManagement.Models.UserModel))
✅ ShouldMap(source: typeof(HomeInventory.Domain.UserManagement.ValueObjects.Email), destination: typeof(string))
✅ ShouldMap(source: typeof(HomeInventory.Domain.UserManagement.ValueObjects.UserId), destination: typeof(System.Ulid))
✅ ShouldMap(source: typeof(HomeInventory.Infrastructure.UserManagement.Models.UserModel), destination: typeof(HomeInventory.Domain.UserManagement.Aggregates.User))
✅ ShouldMap(source: typeof(string), destination: typeof(HomeInventory.Domain.UserManagement.ValueObjects.Email))
✅ ShouldMap(source: typeof(System.Ulid), destination: typeof(HomeInventory.Domain.UserManagement.ValueObjects.UserId))
✅ ShouldMapUserModelToUser
✅ ShouldProjectUserModelToUser

✅ HomeInventory.Tests.Systems.Modules.AuthenticationModuleTests

✅ AddRoutes ShouldRegister
✅ LoginAsync OnFailure ReturnsError
✅ LoginAsync OnSuccess ReturnsHttp200

✅ HomeInventory.Tests.Systems.Modules.ErrorMappingTests

✅ GetDefaultError Should Return500
✅ GetError Should ReturnExpected When Error(errorType: null, expected: InternalServerError)
✅ GetError Should ReturnExpected When Error(errorType: typeof(HomeInventory.Core.ValidationError), expected: BadRequest)
✅ GetError Should ReturnExpected When Error(errorType: typeof(HomeInventory.Domain.Primitives.Errors.ConflictError), expected: Conflict)
✅ GetError Should ReturnExpected When Error(errorType: typeof(HomeInventory.Domain.Primitives.Errors.NotFoundError), expected: NotFound)
✅ GetError Should ReturnExpected When Error(errorType: typeof(HomeInventory.Domain.UserManagement.Errors.DuplicateEmailError), expected: Conflict)

✅ HomeInventory.Tests.Systems.Modules.HomeInventoryProblemDetailsFactoryTests

✅ ConvertToProblem Should Convert When MultipleDifferentErrors
✅ ConvertToProblem Should Convert When SingleError
✅ ConvertToProblem Should ConvertWithCorrectStatus When MultipleSimilarErrors
✅ ConvertToProblem Should ThrowInvalidOperationException When NoErrors
✅ CreateProblemDetails Should PassValues
✅ CreateProblemDetails Should SetDefaultsForStatusCode
✅ CreateProblemDetails Should SetDefaultStatusTo500
✅ CreateProblemDetails Should SetTraceIdentifierFromContextWhenNoCurrentActivity
✅ CreateProblemDetails Should SetTraceIdentifierFromCurrentActivity
✅ CreateValidationProblemDetails Should PassValues
✅ CreateValidationProblemDetails Should SetDefaultsForStatusCode
✅ CreateValidationProblemDetails Should SetDefaultStatusTo400
✅ CreateValidationProblemDetails Should SetTraceIdentifierFromContextWhenNoCurrentActivity
✅ CreateValidationProblemDetails Should SetTraceIdentifierFromCurrentActivity

✅ HomeInventory.Tests.Systems.Modules.JsonOpenApiValueConverterTests

✅ Convert ShouldReturnNull WhenValueIsDbNull(expected: False)
✅ Convert ShouldReturnNull WhenValueIsDbNull(expected: True)
✅ Convert ShouldReturnNull WhenValueIsNull
✅ Convert ShouldReturnOpenApiNull WhenValueIsDbNull

✅ HomeInventory.Tests.Systems.Modules.SwaggerDefaultValuesTests

✅ Apply Should NotOverrideDefaultForParameter
✅ Apply Should NotOverrideDescriptionForParameter
✅ Apply Should NotUnsetDeprecated
✅ Apply Should NotUnSetRequiredForParameter
✅ Apply Should RemoveNotSupportedContentTypes(statusCode: 200)
✅ Apply Should RemoveNotSupportedContentTypes(statusCode: null)
✅ Apply Should SetDefaultForParameter
✅ Apply Should SetDeprecated
✅ Apply Should SetDescriptionForParameter
✅ Apply Should SetRequiredForParameter

✅ HomeInventory.Tests.Systems.Modules.UserManagementModuleTests

✅ AddRoutes ShouldRegister
✅ RegisterAsync OnFailure ReturnsError
✅ RegisterAsync OnSuccess ReturnsHttp200

✅ HomeInventory.Tests.Systems.Persistence.AmountValueObjectConverterTests

✅ TryConvert

✅ HomeInventory.Tests.Systems.Persistence.ByIdFilterSpecificationTests

✅ ExecuteAsync Should NotSatisfyWithWrongId
✅ ExecuteAsync Should SatisfyWithCorrectId
✅ Should NotSatisfyWithWrongId
✅ Should SatisfyWithCorrectId

✅ HomeInventory.Tests.Systems.Persistence.EventsPersistenceServiceTests

✅ SaveEvents ShouldPersistDomainEvents

✅ HomeInventory.Tests.Systems.Persistence.OutboxMessageConfigurationTests

✅ UserModel Should HaveContentConfigured
✅ UserModel Should HavePrimaryKey

✅ HomeInventory.Tests.Systems.Persistence.PersistenceHealthCheckTests

✅ CheckHealthAsync ShouldReturnDegraded WhenCannotConnect
✅ CheckHealthAsync ShouldReturnDegraded WhenThrows
✅ CheckHealthAsync ShouldReturnHealthy WhenCanConnect

✅ HomeInventory.Tests.Systems.Persistence.RepositoryTests

✅ AddAsync ShouldAdd
✅ AddRangeAsync ShouldAdd
✅ AnyAsync ShouldReturnFalse WhenNoModels
✅ AnyAsync ShouldReturnTrue WhenModelsStored
✅ CountAsync ShouldReturnCorrectCount(expectedCount: 0)
✅ CountAsync ShouldReturnCorrectCount(expectedCount: 1)
✅ CountAsync ShouldReturnCorrectCount(expectedCount: 2)
✅ CountAsync ShouldReturnCorrectCount(expectedCount: 3)
✅ DeleteAsync ShouldRemoveExisting
✅ DeleteRangeAsync ShouldRemoveExisting
✅ FindFirstOptionalAsync ShouldFindExisting
✅ FindFirstOptionalAsync ShouldNotFindNonExisting
✅ GetAllAsync ShouldReturnExpected
✅ HasAsync ShouldFindExisting

✅ HomeInventory.Tests.Systems.Persistence.UserHasEmailSpecificationTests

✅ Should NotSatisfyWithWrongEmail
✅ Should SatisfyWithCorrectEmail

✅ HomeInventory.Tests.Systems.Persistence.UserModelConfigurationTests

✅ UserModel Should HavePrimaryKey

✅ HomeInventory.Tests.Systems.Persistence.UserRepositoryTests

✅ AddAsync Should CreateUser AccordingToSpec
✅ FindFirstOrNotFoundAsync Should ReturnCorrectUser WhenUserAdded
✅ HasAsync Should ReturnTrue WhenUserAdded
✅ HasPermissionAsync Should ReturnTreu WhenUserAdded

✅ HomeInventory.Tests.Validation.LoginRequestValidatorTests

✅ Should NotPassValidation(email: "", password: "123456789sS$")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: null)
✅ Should NotPassValidation(email: "none.email", password: "123456789sS$")
✅ Should NotPassValidation(email: null, password: "123456789sS$")
✅ Should PassValidation(email: "anonymous.user@none.email", password: "123456789sS$")

✅ HomeInventory.Tests.Validation.PasswordValidatorTests

✅ Should NotPassValidation(password: "")
✅ Should NotPassValidation(password: "0o.")
✅ Should NotPassValidation(password: "0O.")
✅ Should NotPassValidation(password: "0oO")
✅ Should NotPassValidation(password: "oO.")
✅ Should PassValidation(password: "0oO-")
✅ Should PassValidation(password: "0oO!")
✅ Should PassValidation(password: "0oO.")
✅ Should PassValidation(password: "0oO'")
✅ Should PassValidation(password: "0oO(")
✅ Should PassValidation(password: "0oO*")
✅ Should PassValidation(password: "0oO&")
✅ Should PassValidation(password: "0oO%")
✅ Should PassValidation(password: "0oO`")
✅ Should PassValidation(password: "0oO^")
✅ Should PassValidation(password: "0oO~")
✅ Should PassValidation(password: "0oO$")
✅ Should PassValidation(password: null)

✅ HomeInventory.Tests.Validation.RegisterRequestValidatorTests

✅ Should NotPassValidation(email: "", password: "123456789sS$")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "123456789s$")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "123456789S$")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "123456789sS")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "1234sS$")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: "sssssssssS$")
✅ Should NotPassValidation(email: "anonymous.user@none.email", password: null)
✅ Should NotPassValidation(email: "none.email", password: "123456789sS$")
✅ Should NotPassValidation(email: null, password: "123456789sS$")
✅ Should PassValidation(email: "anonymous.user@none.email", password: "123456789sS$")