Skip to content

add xtb project for schema generation #1

add xtb project for schema generation

add xtb project for schema generation #1

GitHub Actions / unit tests succeeded Aug 28, 2025 in 0s

142 passed, 0 failed and 0 skipped

Tests passed successfully

✔️ TestResults/_pkrvmccyg1gnepe_2025-08-28_10_10_33.trx

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

Test suite Passed Failed Skipped Time
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.CommandProcessorHostingServiceTests 2✔️ 304ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Commands.ExportCommandTests 2✔️ 452ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.DataExportServiceTests 1✔️ 54ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Mappers.DataverseRecordToRecordMapperTests 1✔️ 4ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Export.Mappers.EntityFieldValueToFieldMapperTests 10✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Commands.ImportCommandsTest 3✔️ 362ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ImportTaskProcessorServiceTests 7✔️ 73ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.BusinessUnitInterceptorTests 4✔️ 8ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetTeamInterceptorTests 4✔️ 12ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetTransactionCurrencyInterceptorTests 4✔️ 3ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUoMInterceptorTests 4✔️ 3ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUoMScheduleInterceptorTests 4✔️ 198ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Interceptors.TargetUserInterceptorTests 4✔️ 116ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.Mappers.FieldSchemaToAttributeTypeMapperTests 15✔️ 2ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.BooleanValueConverterTests 3✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DataverseValueConverterTests 12✔️ 64ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DatetimeValueConverterTests 2✔️ 5ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DecimalValueConverterTests 2✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.DoubleValueConverterTests 2✔️ 21ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.EncodingStringValueConverterTests 2✔️ 0ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.EntityReferenceValueConverterTests 3✔️ 1ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.GuidValueConverterTests 2✔️ 19ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.IntegerValueConverterTests 2✔️ 4ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.MoneyValueConverterTests 2✔️ 6ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.OptionSetValueConverterTests 2✔️ 4ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Import.ValueConverters.ReflectionMainConverterTests 2✔️ 7ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.EntitySchemaValidatorTests 6✔️ 24ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.FieldSchemas.FieldTypeMustMatchWithAttributeValidationRuleTests 4✔️ 57ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.FieldSchemas.LookupFieldsTargetsMustMatchValidationRuleTests 4✔️ 3ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.RelationshipSchemas.SourceEntityNameMustMatchValidationRuleTests 2✔️ 2ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.EntitySchemas.RelationshipSchemas.TargetEntityNameMustMatchValidationRuleTests 2✔️ 6ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Features.Shared.Validators.Rules.SchemaValidatorTests 1✔️ 4ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseBusinessUnitRepositoryTests 2✔️ 36ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseDomainServiceTests 3✔️ 50ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseMetadataServiceTests 3✔️ 39ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseProductCatalogServiceTests 6✔️ 293ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseTeamRepositoryTests 2✔️ 127ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Dataverse.DataverseUserRepositoryTests 2✔️ 143ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Filesystem.FileReaderDataImportProviderTests 2✔️ 9ms
Dataverse.ConfigurationMigrationTool.Console.Tests.Services.Filesystem.XmlFileDataReaderTests 2✔️ 503ms

✔️ 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_WhenItIsMappedToARecord_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 { 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-08-28T10:10:33.6545902Z, expected: Field { Lookupentity = null, Lookupentityname = null, Name = "testDateTimeField", Value = "2025-08-28T10:10:33.6545902Z" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testDecimalField", PrimaryKey = False, ··· }, value: 123.45, expected: Field { 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 { 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: null)
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testGuidField", PrimaryKey = False, ··· }, value: 2aaabf4e-0c40-4cb8-b0aa-76127daa9d0a, expected: Field { Lookupentity = null, Lookupentityname = null, Name = "testGuidField", Value = "2aaabf4e-0c40-4cb8-b0aa-76127daa9d0a" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testLookupField", PrimaryKey = False, ··· }, value: EntityReference { ExtensionData = null, Id = 2aaabf4e-0c40-4cb8-b0aa-76127daa9d0a, KeyAttributes = [···], LogicalName = "testEntity", Name = null, ··· }, expected: Field { Lookupentity = "testEntity", Lookupentityname = null, Name = "testLookupField", Value = "2aaabf4e-0c40-4cb8-b0aa-76127daa9d0a" })
✔️ GivenAnAttributeValue_WhenItIsMappedToAField_ThenFieldShouldBeCreatedProperly(schema: FieldSchema { Customfield = False, Displayname = null, LookupType = null, Name = "testMoneyField", PrimaryKey = False, ··· }, value: Money { ExtensionData = null, Value = 100.50 }, expected: Field { 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 { 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 { 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