Skip to content

Add modules

Add modules #3783

GitHub Actions / Unit tests succeeded Jan 23, 2025 in 0s

268 passed, 0 failed and 1 skipped

Tests passed successfully

✅ ./src/HomeInventory/coverage/_fv-az1939-531_2025-01-23_01_47_25.trx

269 tests were completed in 5s with 268 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
HomeInventory.Tests.Application.FeatureFlagTests 8✅ 28ms
HomeInventory.Tests.Core.EnumerableExtensionsTests 3✅ 20ms
HomeInventory.Tests.Core.ExecuteTests 6✅ 10ms
HomeInventory.Tests.Core.OptionExtensionsTests 3✅ 455ms
HomeInventory.Tests.Core.ReflectionMethodsTests 4✅ 4ms
HomeInventory.Tests.Core.ScopeTests 7✅ 5ms
HomeInventory.Tests.Core.TypeExtensionsTests 4✅ 2ms
HomeInventory.Tests.DependencyInjection.WebDependencyInjectionTests 1⚪ 1ms
HomeInventory.Tests.Domain.EntityTests 14✅ 14ms
HomeInventory.Tests.Domain.EquatableComponentTests 14✅ 35ms
HomeInventory.Tests.Domain.FixedDateTimeServiceTests 3✅ 2ms
HomeInventory.Tests.Domain.ValueObjects.AmountFactoryTests 5✅ 6ms
HomeInventory.Tests.Domain.ValueObjects.AmountTests 3✅ 16ms
HomeInventory.Tests.Domain.ValueObjects.AmountUnitTests 6✅ 6ms
HomeInventory.Tests.Domain.ValueObjects.MeasurementTypeTests 5✅ 19ms
HomeInventory.Tests.Framework.Assertions.JsonElementAssertionsTests 3✅ 19ms
HomeInventory.Tests.Framework.Assertions.ObjectExtensionsTests 4✅ 4ms
HomeInventory.Tests.Framework.Assertions.ServiceDescriptorExtensionsTests 3✅ 3ms
HomeInventory.Tests.Framework.Customizations.ApiBehaviorOptionsCustomizationTests 1✅ 1ms
HomeInventory.Tests.Framework.Customizations.RegisterRequestCustomizationTests 1✅ 4ms
HomeInventory.Tests.Middlewares.CorrelationIdContainerTests 3✅ 1ms
HomeInventory.Tests.Middlewares.CorrelationIdMiddlewareTests 7✅ 81ms
HomeInventory.Tests.Modules.DomainModuleTests 1✅ 3ms
HomeInventory.Tests.Modules.InfrastructureDatabaseModuleTests 1✅ 7ms
HomeInventory.Tests.Modules.InfrastructureMappingModuleTests 1✅ 6ms
HomeInventory.Tests.Modules.InfrastructureSpecificationModuleTests 1✅ 10ms
HomeInventory.Tests.Modules.InfrastructureUserManagementDatabaseModuleTests 1✅ 4ms
HomeInventory.Tests.Modules.InfrastructureUserManagementMappingModuleTests 1✅ 3ms
HomeInventory.Tests.Modules.InfrastructureUserManagementModuleTests 1✅ 3ms
HomeInventory.Tests.Modules.LoggingModuleTests 1✅ 91ms
HomeInventory.Tests.Presentation.Web.SectionPathTests 2✅ 3ms
HomeInventory.Tests.Systems.Authentication.BCryptPasswordHasherTests 3✅ 99ms
HomeInventory.Tests.Systems.Authentication.GuidJwtIdentityGeneratorTests 2✅ 1ms
HomeInventory.Tests.Systems.Authentication.JwtBearerOptionsSetupTests 1✅ 14ms
HomeInventory.Tests.Systems.Authentication.JwtTokenGeneratorTests 1✅ 82ms
HomeInventory.Tests.Systems.Handlers.AuthenticateQueryHandlerTests 3✅ 43ms
HomeInventory.Tests.Systems.Handlers.LoggingBehaviorTests 4✅ 20ms
HomeInventory.Tests.Systems.Handlers.RegisterCommandHandlerTests 2✅ 30ms
HomeInventory.Tests.Systems.Handlers.UnitOfWorkBehaviorTests 4✅ 42ms
HomeInventory.Tests.Systems.Handlers.UserIdQueryHandlerTests 2✅ 9ms
HomeInventory.Tests.Systems.Mapping.ContractsMappingsTests 2✅ 10ms
HomeInventory.Tests.Systems.Mapping.ModelMappingsTests 4✅ 43ms
HomeInventory.Tests.Systems.Mapping.UlidIdConverterTests 3✅ 17ms
HomeInventory.Tests.Systems.Mapping.UserManagementContractsMappingsTests 5✅ 14ms
HomeInventory.Tests.Systems.Mapping.UserManagementModelMappingsTests 8✅ 31ms
HomeInventory.Tests.Systems.Modules.AuthenticationModuleTests 3✅ 36ms
HomeInventory.Tests.Systems.Modules.ErrorMappingTests 6✅ 8ms
HomeInventory.Tests.Systems.Modules.HomeInventoryProblemDetailsFactoryTests 14✅ 68ms
HomeInventory.Tests.Systems.Modules.JsonOpenApiValueConverterTests 4✅ 13ms
HomeInventory.Tests.Systems.Modules.SwaggerDefaultValuesTests 10✅ 50ms
HomeInventory.Tests.Systems.Modules.UserManagementModuleTests 3✅ 201ms
HomeInventory.Tests.Systems.Persistence.AmountValueObjectConverterTests 1✅ 15ms
HomeInventory.Tests.Systems.Persistence.ByIdFilterSpecificationTests 4✅ 31ms
HomeInventory.Tests.Systems.Persistence.EventsPersistenceServiceTests 1✅ 673ms
HomeInventory.Tests.Systems.Persistence.OutboxMessageConfigurationTests 2✅ 14ms
HomeInventory.Tests.Systems.Persistence.PersistenceHealthCheckTests 3✅ 53ms
HomeInventory.Tests.Systems.Persistence.RepositoryTests 14✅ 697ms
HomeInventory.Tests.Systems.Persistence.UserHasEmailSpecificationTests 2✅ 6ms
HomeInventory.Tests.Systems.Persistence.UserModelConfigurationTests 1✅ 3ms
HomeInventory.Tests.Systems.Persistence.UserRepositoryTests 4✅ 881ms
HomeInventory.Tests.Validation.LoginRequestValidatorTests 6✅ 5ms
HomeInventory.Tests.Validation.PasswordValidatorTests 18✅ 7ms
HomeInventory.Tests.Validation.RegisterRequestValidatorTests 11✅ 58ms

✅ HomeInventory.Tests.Application.FeatureFlagTests

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

✅ 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.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.Presentation.Web.SectionPathTests

✅ Divide Should ReturnCombinedPath
✅ ToString Should ReturnPath

✅ 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(instance: AuthenticateResult { Id = 67FKPX6A0026MPNA9CVWYXMS14, Token = Token44d11952-9803-4cf8-a4c7-cfe79ddf0409 }, destination: typeof(HomeInventory.Contracts.LoginResponse))
✅ ShouldMap(instance: LoginRequest { Email = Emaile93e7fbf-2a1c-4bc0-ab9c-ae079562a308, Password = Passwordcbb120ca-937b-4ed0-bf32-96aa21af201a }, 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(instance: 67FKPX6A000EH2WADK6M98CEEH, destination: typeof(System.Ulid))
✅ ShouldMap(instance: [email protected], destination: typeof(string))
✅ ShouldMap(instance: RegisterRequest { Email = Emailba07e97f-10db-4d93-a2a1-310e69a47cf2, Password = Password522fcf00-b966-4948-b343-4d61d018df22 }, destination: typeof(HomeInventory.Application.UserManagement.Interfaces.Commands.RegisterCommand))
✅ ShouldMap(instance: RegisterRequest { Email = Emailec0d04f9-24f2-44c1-be84-d4120e6ab507, Password = Password5c5d55d8-9bcd-4828-b0a2-e17029ae0de2 }, destination: typeof(HomeInventory.Application.UserManagement.Interfaces.Queries.UserIdQuery))
✅ ShouldMap(instance: UserIdResult { UserId = 67FKPX6A00TXTQMNXGCG7K6J0D }, destination: typeof(HomeInventory.Contracts.UserManagement.RegisterResponse))

✅ HomeInventory.Tests.Systems.Mapping.UserManagementModelMappingsTests

✅ ShouldMap(instance: "f13bd339-419c-435d-89bf-3a3022940bc3", destination: typeof(HomeInventory.Domain.UserManagement.ValueObjects.Email))
✅ ShouldMap(instance: 01HK153X0085ZMGTAGDWF3K8M6, destination: typeof(HomeInventory.Domain.UserManagement.ValueObjects.UserId))
✅ ShouldMap(instance: 01HK153X00JKBQ9M16FGQF4BVS, destination: typeof(System.Ulid))
✅ ShouldMap(instance: [email protected], destination: typeof(string))
✅ ShouldMap(instance: User { Email = [email protected], Id = 01HK153X00X12CFHJRHNSA40EG, Password = "Passwordec1a5063-dfb7-44d3-98ef-894974d3b541" }, destination: typeof(HomeInventory.Infrastructure.UserManagement.Models.UserModel))
✅ ShouldMap(instance: UserModel { CreatedOn = 2023-04-01T21:24:50.1157162+00:00, Email = "Email72a2587a-d254-4c1b-8480-30bb0e341126", Id = 01HK153X00NKSW9FTW1PT0J0P6, ModifiedOn = 2023-03-16T22:45:31.4957095+00:00, Password = "Password64a94418-ba1b-41d7-831f-b778dcc91638" }, destination: typeof(HomeInventory.Domain.UserManagement.Aggregates.User))
✅ 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: "[email protected]", password: "")
✅ Should NotPassValidation(email: "[email protected]", password: null)
✅ Should NotPassValidation(email: "none.email", password: "123456789sS$")
✅ Should NotPassValidation(email: null, password: "123456789sS$")
✅ Should PassValidation(email: "[email protected]", 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: "[email protected]", password: "")
✅ Should NotPassValidation(email: "[email protected]", password: "123456789s$")
✅ Should NotPassValidation(email: "[email protected]", password: "123456789S$")
✅ Should NotPassValidation(email: "[email protected]", password: "123456789sS")
✅ Should NotPassValidation(email: "[email protected]", password: "1234sS$")
✅ Should NotPassValidation(email: "[email protected]", password: "sssssssssS$")
✅ Should NotPassValidation(email: "[email protected]", password: null)
✅ Should NotPassValidation(email: "none.email", password: "123456789sS$")
✅ Should NotPassValidation(email: null, password: "123456789sS$")
✅ Should PassValidation(email: "[email protected]", password: "123456789sS$")