Skip to content

Add new parameters for interactive login, new params to export empty … #11

Add new parameters for interactive login, new params to export empty …

Add new parameters for interactive login, new params to export empty … #11

GitHub Actions / unit tests succeeded Sep 19, 2025 in 0s

160 passed, 0 failed and 0 skipped

Tests passed successfully

✔️ TestResults/_runnervmf4ws1_2025-09-19_14_57_44.trx

160 tests were completed in 2s with 160 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dataverse.ConfigurationMigrationTool.Console.Tests.ConfigurationProviders.CustomCommandLineConfigurationExtensionsTests 1✔️ 9ms
Dataverse.ConfigurationMigrationTool.Console.Tests.ConfigurationProviders.CustomCommandLineConfigurationProviderTests 15✔️ 9ms
Dataverse.ConfigurationMigrationTool.Console.Tests.ConfigurationProviders.CustomCommandLineConfigurationSourceTests 1✔️ 16ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.CommandProcessorHostingServiceTests 2✔️ 205ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Commands.ExportCommandTests 2✔️ 281ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.DataExportServiceTests 1✔️ 35ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Mappers.DataverseRecordToRecordMapperTests 2✔️ 5ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Mappers.EntityFieldValueToFieldMapperTests 10✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Commands.ImportCommandsTest 3✔️ 82ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ImportTaskProcessorServiceTests 7✔️ 97ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.BusinessUnitInterceptorTests 4✔️ 14ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetTeamInterceptorTests 4✔️ 18ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetTransactionCurrencyInterceptorTests 4✔️ 3ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUoMInterceptorTests 4✔️ 4ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUoMScheduleInterceptorTests 4✔️ 194ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUserInterceptorTests 4✔️ 10ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Mappers.FieldSchemaToAttributeTypeMapperTests 15✔️ 3ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.BooleanValueConverterTests 3✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DataverseValueConverterTests 12✔️ 28ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DatetimeValueConverterTests 2✔️ 5ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DecimalValueConverterTests 2✔️ 5ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DoubleValueConverterTests 2✔️ 38ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.EncodingStringValueConverterTests 2✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.EntityReferenceValueConverterTests 3✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.GuidValueConverterTests 2✔️ 4ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.IntegerValueConverterTests 2✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.MoneyValueConverterTests 2✔️ 7ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.OptionSetValueConverterTests 2✔️ 0ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.ReflectionMainConverterTests 2✔️ 11ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.EntitySchemaValidatorTests 6✔️ 189ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.FieldSchemas.FieldTypeMustMatchWithAttributeValidationRuleTests 4✔️ 43ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.FieldSchemas.LookupFieldsTargetsMustMatchValidationRuleTests 4✔️ 6ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.RelationshipSchemas.SourceEntityNameMustMatchValidationRuleTests 2✔️ 3ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.RelationshipSchemas.TargetEntityNameMustMatchValidationRuleTests 2✔️ 13ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.SchemaValidatorTests 1✔️ 23ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseBusinessUnitRepositoryTests 2✔️ 322ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseDomainServiceTests 3✔️ 32ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseMetadataServiceTests 3✔️ 132ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseProductCatalogServiceTests 6✔️ 112ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseTeamRepositoryTests 2✔️ 118ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseUserRepositoryTests 2✔️ 33ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Filesystem.FileReaderDataImportProviderTests 2✔️ 12ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Filesystem.XmlFileDataReaderTests 2✔️ 244ms

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.ConfigurationProviders.CustomCommandLineConfigurationExtensionsTests

✔️ GivenAConfigurationBuilder_WhenItAddsCustomCommandline_ThenItAddsTheCustomCommandLineConfigurationProvider

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.ConfigurationProviders.CustomCommandLineConfigurationProviderTests

✔️ Given_ArgsIsNull_When_Construct_Then_ThrowsArgumentNullException
✔️ Given_ArgsWithDoubleDash_When_Load_Then_ParsesKeyValueCorrectly
✔️ Given_ArgsWithDoubleDashWithNoSeparator_When_Load_Then_ParsesKeyValueCorrectly
✔️ Given_ArgsWithDuplicateKeys_When_Load_Then_LastValueWins
✔️ Given_ArgsWithFlagMappings_When_Load_Then_SetsFlagValueToTrue
✔️ Given_ArgsWithInvalidFormat_When_Load_Then_IgnoresInvalidArgs
✔️ Given_ArgsWithSingleDash_When_Load_Then_ParsesKeyValueCorrectly
✔️ Given_ArgsWithSingleDashWithNoSeparator_When_Load_Then_ParsesKeyValueCorrectly
✔️ Given_ArgsWithSlash_When_Load_Then_ParsesKeyValueCorrectly
✔️ Given_ArgsWithSwitchMappings_When_Load_Then_MapsSwitchToCustomKey
✔️ Given_ShortDashWithMapping_When_Load_Then_MapsKey
✔️ Given_ShortDashWithNoMappingAndEquals_When_Load_Then_ThrowsFormatException
✔️ Given_ShortDashWithoutMapping_When_Load_Then_IgnoresArg
✔️ Given_SwitchMappingsWithDuplicateKeys_When_Construct_Then_ThrowsArgumentException
✔️ Given_SwitchMappingsWithInvalidKey_When_Construct_Then_ThrowsArgumentException

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.ConfigurationProviders.CustomCommandLineConfigurationSourceTests

✔️ GivenACommandLineSource_WhenItBuildsAConfigProvider_ThenACommandLineConfigurationProviderIsReturned

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.CommandProcessorHostingServiceTests

✔️ GivenACommandVerb_WhenCommandProcessorRuns_ThenItShouldExecuteTheProperCommand
✔️ GivenAnNonExistantCommandVerb_WhenCommandProcessorRuns_ThenItShouldExecuteTheProperCommand

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Commands.ExportCommandTests

✔️ GivenACommand_WhenItExecutesWithAnInvalidSchema_ThenItShouldThrowError
✔️ GivenACommand_WhenItExecutesWithASchema_ThenItShouldExportData

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.DataExportServiceTests

✔️ GivenADataExportService_WhenItExportsDataFromSchema_ThenItShouldUseDomainServiceProperly

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Mappers.DataverseRecordToRecordMapperTests

✔️ GivenAnEntity_WhenItIsMappedToARecordWithEmptyFields_ThenItTheRecordShouldBeProperplyCreated
✔️ GivenAnEntity_WhenItIsMappedToARecordWithNoEmptyFields_ThenItTheRecordShouldBeProperplyCreated

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Mappers.EntityFieldValueToFieldMapperTests

✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testBooleanField", PrimaryKey = False, ··· }, value: True, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testBooleanField", Value = "True" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testDateTimeField", PrimaryKey = False, ··· }, value: 2025-09-19T14:57:44.5139740Z, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testDateTimeField", Value = "2025-09-19T14:57:44.5139740Z" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testDecimalField", PrimaryKey = False, ··· }, value: 123.45, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testDecimalField", Value = "123.45" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testDoubleField", PrimaryKey = False, ··· }, value: 123.456789, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testDoubleField", Value = "123.456789" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testField", PrimaryKey = False, ··· }, value: null, expected: Field { IsNull = True, Lookupentity = null, Lookupentityname = null, Name = "testField", Value = null })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testGuidField", PrimaryKey = False, ··· }, value: cc2f99bc-d9e0-4f46-9172-a25533a38f3c, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testGuidField", Value = "cc2f99bc-d9e0-4f46-9172-a25533a38f3c" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testLookupField", PrimaryKey = False, ··· }, value: EntityReference { ExtensionData = null, Id = cc2f99bc-d9e0-4f46-9172-a25533a38f3c, KeyAttributes = [···], LogicalName = "testEntity", Name = null, ··· }, expected: Field { IsNull = False, Lookupentity = "testEntity", Lookupentityname = null, Name = "testLookupField", Value = "cc2f99bc-d9e0-4f46-9172-a25533a38f3c" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testMoneyField", PrimaryKey = False, ··· }, value: Money { ExtensionData = null, Value = 100.50 }, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testMoneyField", Value = "100.50" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testOptionSetField", PrimaryKey = False, ··· }, value: OptionSetValue { ExtensionData = null, Value = 1 }, expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testOptionSetField", Value = "1" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testStringField", PrimaryKey = False, ··· }, value: "<>Root<>''/", expected: Field { IsNull = False, Lookupentity = null, Lookupentityname = null, Name = "testStringField", Value = "&lt;&gt;Root&lt;&gt;&#39;&#39;/" })

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Commands.ImportCommandsTest

✔️ GivenAnInvalidSchema_WhenTheCommandExecutes_ThenItShouldFailAndLogIssues
✔️ GivenDataToImportWithSchema_WhenTheCommandExecutes_ThenItShouldProcessImportsAccordingly
✔️ GivenDataToImportWithSchema_WhenTheCommandExecutesAndFails_ThenItShouldThrowAnError

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ImportTaskProcessorServiceTests

✔️ GivenACircularSelfHiearchyEntityTaskImport_WhenExecuted_ThenItShouldSkipThoseAndReturnCompleted
✔️ GivenAnImportTaskWhereEntitySchemaIsNotFound_WhenExecuted_ThenItShouldReturnCompleted
✔️ GivenARelationshipImportTask_WhenExecuted_ThenItShouldAssociateINDataverseAndReturnCompleted
✔️ GivenARelationshipImportTask_WhenExecutedAndAnAssociateRequestHasFailed_ThenItShouldReturnFailed
✔️ GivenARelationshipImportTaskWhereRelationshipNotFound_WhenExecuted_ThenItShouldReturnFailed
✔️ GivenASelfHiearchyEntityTaskImport_WhenExecuted_ThenItShouldProcessInCorrectOrderAndReturnCompleted
✔️ GivenASelfHiearchyEntityTaskImportWithIssues_WhenExecuted_ThenItShouldProcessInCorrectOrderAndReturnFailed

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.BusinessUnitInterceptorTests

✔️ GivenAnEntityInterceptorWith_NoSuccessor_ThenItShouldReturnEntity
✔️ GivenAnEntityWithBusinessUnitField_WhenItsIntercepted_ThenItShouldResolveBusinessUnitByIdWithRepository
✔️ GivenAnEntityWithBusinessUnitField_WhenItsIntercepted_ThenItShouldResolveBusinessUnitByNameWithRepository
✔️ GivenAnEntityWithBusinessUnitField_WhenItsInterceptedAndCantBeResolved_ThenItShouldRemoveFieldFromEntity

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetTeamInterceptorTests

✔️ GivenAnEntityInterceptorWith_NoSuccessor_ThenItShouldReturnEntity
✔️ GivenAnEntityWithTeamField_WhenItsIntercepted_ThenItShouldResolveTeamByIdWithRepository
✔️ GivenAnEntityWithTeamField_WhenItsIntercepted_ThenItShouldResolveTeamByNameWithRepository
✔️ GivenAnEntityWithTeamField_WhenItsInterceptedAndCantBeResolved_ThenItShouldRemoveFieldFromEntity

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetTransactionCurrencyInterceptorTests

✔️ GivenAnEntityInterceptorWith_NoSuccessor_ThenItShouldReturnEntity
✔️ GivenAnEntityWithEntityReferenceField_WhenItsIntercepted_ThenItShouldResolveLookUpById
✔️ GivenAnEntityWithEntityReferenceField_WhenItsIntercepted_ThenItShouldResolveLookUpByName
✔️ GivenAnEntityWithLookUpField_WhenItsInterceptedAndCantBeResolved_ThenItShouldRemoveFieldFromEntity

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUoMInterceptorTests

✔️ GivenAnEntityInterceptorWith_NoSuccessor_ThenItShouldReturnEntity
✔️ GivenAnEntityWithEntityReferenceField_WhenItsIntercepted_ThenItShouldResolveLookUpById
✔️ GivenAnEntityWithEntityReferenceField_WhenItsIntercepted_ThenItShouldResolveLookUpByName
✔️ GivenAnEntityWithLookUpField_WhenItsInterceptedAndCantBeResolved_ThenItShouldRemoveFieldFromEntity

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUoMScheduleInterceptorTests

✔️ GivenAnEntityInterceptorWith_NoSuccessor_ThenItShouldReturnEntity
✔️ GivenAnEntityWithEntityReferenceField_WhenItsIntercepted_ThenItShouldResolveLookUpById
✔️ GivenAnEntityWithEntityReferenceField_WhenItsIntercepted_ThenItShouldResolveLookUpByName
✔️ GivenAnEntityWithLookUpField_WhenItsInterceptedAndCantBeResolved_ThenItShouldRemoveFieldFromEntity

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUserInterceptorTests

✔️ GivenAnEntityInterceptorWith_NoSuccessor_ThenItShouldReturnEntity
✔️ GivenAnEntityWithUserField_WhenItsIntercepted_ThenItShouldResolveUserByIdWithRepository
✔️ GivenAnEntityWithUserField_WhenItsIntercepted_ThenItShouldResolveUserByNameWithRepository
✔️ GivenAnEntityWithUserField_WhenItsInterceptedAndCantBeResolved_ThenItShouldRemoveFieldFromEntity

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Mappers.FieldSchemaToAttributeTypeMapperTests

✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = "account", Name = null, PrimaryKey = False, ··· }, expected: Lookup)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = "account|contact", Name = null, PrimaryKey = False, ··· }, expected: Customer)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: BigInt)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Boolean)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: DateTime)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Decimal)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Double)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Integer)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Money)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Owner)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Picklist)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: State)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Status)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: String)
✔️ GivenAFieldSchema_WhenItIsMapped_ThenItShouldReturnProperAttributeTypeCode(source: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = null, PrimaryKey = False, ··· }, expected: Uniqueidentifier)

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.BooleanValueConverterTests

✔️ GivenFalseString_WhenConverted_ThenShouldReturnFalse
✔️ GivenNonBooleanString_WhenConverted_ThenShouldReturnNull
✔️ GivenTrueString_WhenConverted_ThenShouldReturnTrue

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DataverseValueConverterTests

✔️ GivenABooleanAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenADatetimeAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenADecimalAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenADoubleAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenAGuidAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenAIntegerAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenALookupAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenAMoneyAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenAnEmptyValueRegardlessOfAttributeType_WhenConverted_ThenItShouldReturnNull
✔️ GivenAnUnsupportedAttributeMetadata_WhenConverted_ThenItShouldThrowProperException
✔️ GivenAPicklistAttributeAndAField_WhenConverted_ThenItShouldConvertProperly
✔️ GivenAStringAttributeAndAField_WhenConverted_ThenItShouldConvertProperly

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DatetimeValueConverterTests

✔️ GivenADateTimeString_WhenConverted_ThenItShouldReturnDateTime
✔️ GivenANonDateTimeString_WhenConverted_ThenItShouldReturnNull

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DecimalValueConverterTests

✔️ GivenADecimalString_WhenConverted_ThenItShouldReturnDecimal
✔️ GivenANonDecimalString_WhenConverted_ThenItShouldReturnNull

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DoubleValueConverterTests

✔️ GivenADoubleString_WhenConverted_ThenItShouldReturnDouble
✔️ GivenANonDoubleString_WhenConverted_ThenItShouldReturnNull

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.EncodingStringValueConverterTests

✔️ GivenADecodedString_WhenItIsConverted_ThenItShouldReturnSameString
✔️ GivenAnEncodedString_WhenItIsConverted_ThenItShouldDecodeProperly

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.EntityReferenceValueConverterTests

✔️ GivenNonValidGuidStringWithExtraProperties_WhenConverted_ThenShouldReturnNull
✔️ GivenValidEntityReferenceString_WhenConverted_ThenShouldReturnEntityReference
✔️ GivenValidEntityReferenceStringWithNoExtraProperties_WhenConverted_ThenShouldReturnNull

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.GuidValueConverterTests

✔️ GivenANonValidGuidString_WhenConverted_ThenItShouldReturnNull
✔️ GivenAValidGuidString_WhenConverted_ThenItShouldReturnGuid

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.IntegerValueConverterTests

✔️ GivenANonIntegerString_WhenConverted_ThenItShouldReturnNull
✔️ GivenAValidIntegerString_WhenConverted_ThenItShouldReturnInteger

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.MoneyValueConverterTests

✔️ GivenADecimalString_WhenConverted_ThenItShouldReturnMoney
✔️ GivenANonDecimalString_WhenConverted_ThenItShouldReturnNull

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.OptionSetValueConverterTests

✔️ GivenANonIntegerString_WhenConverted_ThenItShouldReturnNull
✔️ GivenAValidIntegerString_WhenConverted_ThenItShouldReturnOptionSetValue

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.ReflectionMainConverterTests

✔️ GivenAValueConverter_WhenConvertIsCalled_ThenItShouldReturnConvertedValue
✔️ GivenAValueConverter_WhenConvertIsCalledTwiceForSameConversion_ThenItShouldCacheThe2ndTimeReturnConvertedValue

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.EntitySchemaValidatorTests

✔️ GivenAValidEntitySchema_WhenItIsValidated_ThenItShouldReturnSuccess
✔️ GivenEntityDoesNotExist_WhenValidated_ThenShouldReturnError
✔️ GivenFieldDoesNotExist_WhenValidated_ThenShouldReturnError
✔️ GivenFieldRuleFails_WhenValidated_ThenShouldReturnError
✔️ GivenRelationshipDoesNotExist_WhenValidated_ThenShouldReturnError
✔️ GivenRelationshipRuleFails_WhenValidated_ThenShouldReturnError

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.FieldSchemas.FieldTypeMustMatchWithAttributeValidationRuleTests

✔️ GivenAFieldSchemaWithAttributeTypeCode_WhenItIsValidated_ThenItShouldReturnSuccess
✔️ GivenAFieldSchemaWithAttributeTypeCodeMemo_WhenItIsValidated_ThenItShouldReturnSuccess
✔️ GivenAFieldSchemaWithWrongAttributeTypeCode_WhenItIsValidated_ThenItShouldReturnTheProperFailure
✔️ GivenAnUnresolvedFieldSchemaWithAttributeTypeCode_WhenItIsValidated_ThenItShouldReturnTheProperFailure

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.FieldSchemas.LookupFieldsTargetsMustMatchValidationRuleTests

✔️ GivenAlookupSchemaThatDoesNotMatchesAttributeMetadataTargets_WhenItIsValidated_ThenItShouldReturnProperFailure
✔️ GivenAlookupSchemaThatMatchesAttributeMetadataTargets_WhenItIsValidated_ThenItShouldReturnSuccess
✔️ GivenAlookupSchemaWithAnAttributeCodeThatIsOwnerType_WhenItIsValidated_ThenItShouldReturnSuccess
✔️ GivenANonLookupSchema_WhenItIsValidated_ThenItShouldReturnSuccess

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.RelationshipSchemas.SourceEntityNameMustMatchValidationRuleTests

✔️ GivenAMatchingSourceEntityName_WhenValidatingRelationshipSchema_ThenItShouldReturnSuccess
✔️ GivenANonMatchingSourceEntityName_WhenValidatingRelationshipSchema_ThenItShouldReturnProperFailure

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.RelationshipSchemas.TargetEntityNameMustMatchValidationRuleTests

✔️ GivenAMatchingRelationShipMetadata_WhenValidated_ThenItShouldReturnSuccess
✔️ GivenANonMatchingRelationShipMetadata_WhenValidated_ThenItShouldReturnProperFailure

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.SchemaValidatorTests

✔️ GivenValidSchema_WhenValidated_ThenShouldReturnSuccess

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseBusinessUnitRepositoryTests

✔️ GivenABusinessUnitRepository_WhenItFetchesById_ThenItShouldCacheItsResult
✔️ GivenABusinessUnitRepository_WhenItFetchesByName_ThenItShouldCacheItsResult

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseDomainServiceTests

✔️ GivenADomainService_WhenItExportsM2mRelationships_ThenItShouldCallDataverseProperly
✔️ GivenADomainService_WhenItExportsWithEntitySchema_ThenItShouldCallDataverseProperly
✔️ GivenADomainService_WhenItExportsWithEntitySchemaWithNoFields_ThenItShouldNotCallDataverse

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseMetadataServiceTests

✔️ GivenAnEntityInDataverse_WhenServicesGetsItsMetadata_ThenItShouldReturnResultFromDataverse
✔️ GivenAnEntityThatIsNotInDataverse_WhenServicesGetsItsMetadata_ThenItShouldReturnNullAndLogError
✔️ GivenAnIntersectEntityInDataverse_WhenServicesGetsItsMetadata_ThenItShouldReturnResultFromDataverse

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseProductCatalogServiceTests

✔️ GivenAProductCatalogServicey_WhenItFetchesTransactionCurrencyById_ThenItShouldCacheItsResult
✔️ GivenAProductCatalogServicey_WhenItFetchesTransactionCurrencyByName_ThenItShouldCacheItsResult
✔️ GivenAProductCatalogServicey_WhenItFetchesUoMById_ThenItShouldCacheItsResult
✔️ GivenAProductCatalogServicey_WhenItFetchesUoMByName_ThenItShouldCacheItsResult
✔️ GivenAProductCatalogServicey_WhenItFetchesUoMScheduleById_ThenItShouldCacheItsResult
✔️ GivenAProductCatalogServicey_WhenItFetchesUoMScheduleByName_ThenItShouldCacheItsResult

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseTeamRepositoryTests

✔️ GivenATeamRepository_WhenItFetchesById_ThenItShouldCacheItsResult
✔️ GivenATeamRepository_WhenItFetchesByName_ThenItShouldCacheItsResult

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseUserRepositoryTests

✔️ GivenATeamRepository_WhenItFetchesById_ThenItShouldCacheItsResult
✔️ GivenATeamRepository_WhenItFetchesByName_ThenItShouldCacheItsResult

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Filesystem.FileReaderDataImportProviderTests

✔️ GivenAnEntityImport_WhenProviderReadsTheEntityData_ThenItShouldUseDataReader
✔️ GivenAnImportSchema_WhenProviderReadsTheImportSchema_ThenItShouldUseDataReader

✔️ Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Filesystem.XmlFileDataReaderTests

✔️ GivenADataSchema_WhenTheDataServiceWritesIt_ThenItShouldSaveToAFile
✔️ GivenAnXmlFile_WhenTheDataReaderReadsIt_ThenItShouldReturnDataDeserialized