From 051763c9fa7f5154be6776c7b499b54ecde1cd5d Mon Sep 17 00:00:00 2001 From: Jordi Date: Sat, 2 Mar 2024 17:51:38 +0100 Subject: [PATCH] Add conditional compilation because some OrganizationDetail properties are v9 specific plus the request is available only for >= 2015 versions. DynamicsValue/fake-xrm-easy#136 --- .../CurrentOrganizationDetails.cs | 5 +- ...rieveCurrentOrganizationRequestExecutor.cs | 6 ++- ...RetrieveCurrentOrganizationRequestTests.cs | 50 ++++++++++++------- 3 files changed, 41 insertions(+), 20 deletions(-) diff --git a/src/FakeXrmEasy.Messages/ContextProperties/CurrentOrganizationDetails.cs b/src/FakeXrmEasy.Messages/ContextProperties/CurrentOrganizationDetails.cs index e290513..fea3bdc 100644 --- a/src/FakeXrmEasy.Messages/ContextProperties/CurrentOrganizationDetails.cs +++ b/src/FakeXrmEasy.Messages/ContextProperties/CurrentOrganizationDetails.cs @@ -1,3 +1,5 @@ +#if FAKE_XRM_EASY_9 || FAKE_XRM_EASY_365 || FAKE_XRM_EASY_2016 || FAKE_XRM_EASY_2015 + using Microsoft.Xrm.Sdk.Organization; namespace FakeXrmEasy.Messages.ContextProperties @@ -12,4 +14,5 @@ public class CurrentOrganizationDetails /// public OrganizationDetail Details { get; set; } } -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/src/FakeXrmEasy.Messages/FakeMessageExecutors/RetrieveCurrentOrganizationRequestExecutor.cs b/src/FakeXrmEasy.Messages/FakeMessageExecutors/RetrieveCurrentOrganizationRequestExecutor.cs index 25ddf4e..9ede653 100644 --- a/src/FakeXrmEasy.Messages/FakeMessageExecutors/RetrieveCurrentOrganizationRequestExecutor.cs +++ b/src/FakeXrmEasy.Messages/FakeMessageExecutors/RetrieveCurrentOrganizationRequestExecutor.cs @@ -1,3 +1,5 @@ +#if FAKE_XRM_EASY_9 || FAKE_XRM_EASY_365 || FAKE_XRM_EASY_2016 || FAKE_XRM_EASY_2015 + using System; using FakeXrmEasy.Abstractions; using FakeXrmEasy.Abstractions.FakeMessageExecutors; @@ -50,4 +52,6 @@ public Type GetResponsibleRequestType() return typeof(RetrieveCurrentOrganizationRequest); } } -} \ No newline at end of file +} + +#endif \ No newline at end of file diff --git a/tests/FakeXrmEasy.Messages.Tests/FakeMessageExecutors/RetrieveCurrentOrganizationRequestTests/RetrieveCurrentOrganizationRequestTests.cs b/tests/FakeXrmEasy.Messages.Tests/FakeMessageExecutors/RetrieveCurrentOrganizationRequestTests/RetrieveCurrentOrganizationRequestTests.cs index 257beba..7d137d6 100644 --- a/tests/FakeXrmEasy.Messages.Tests/FakeMessageExecutors/RetrieveCurrentOrganizationRequestTests/RetrieveCurrentOrganizationRequestTests.cs +++ b/tests/FakeXrmEasy.Messages.Tests/FakeMessageExecutors/RetrieveCurrentOrganizationRequestTests/RetrieveCurrentOrganizationRequestTests.cs @@ -1,3 +1,5 @@ +#if FAKE_XRM_EASY_9 || FAKE_XRM_EASY_365 || FAKE_XRM_EASY_2016 || FAKE_XRM_EASY_2015 + using System; using FakeXrmEasy.Messages.ContextProperties; using Microsoft.Crm.Sdk.Messages; @@ -8,6 +10,29 @@ namespace FakeXrmEasy.Messages.Tests.FakeMessageExecutors.RetrieveCurrentOrganiz { public class RetrieveCurrentOrganizationRequestTests: FakeXrmEasyTestsBase { + private readonly OrganizationDetail _organizationDetail; + + public RetrieveCurrentOrganizationRequestTests() : base() + { + _organizationDetail = new OrganizationDetail() + { + #if FAKE_XRM_EASY_9 + Geo = "Geo", + EnvironmentId = Guid.NewGuid().ToString(), + TenantId = Guid.NewGuid().ToString(), + #endif + State = OrganizationState.Enabled, + FriendlyName = "OrgFriendlyName", + UniqueName = "UniqueName", + UrlName = "UrlName", + OrganizationId = Guid.NewGuid(), + OrganizationVersion = "0.0.0.0", + Endpoints = + { + { EndpointType.OrganizationDataService, "http://localhost/XrmService/2011/OrganizationData.svc" } + } + }; + } [Fact] public void Should_retrieve_current_organization_details_if_none_was_set_by_default() { @@ -23,22 +48,7 @@ public void Should_retrieve_current_organization_details() { var currentOrgDetails = new CurrentOrganizationDetails() { - Details = new OrganizationDetail() - { - Geo = "Geo", - EnvironmentId = Guid.NewGuid().ToString(), - State = OrganizationState.Enabled, - FriendlyName = "OrgFriendlyName", - UniqueName = "UniqueName", - UrlName = "UrlName", - OrganizationId = Guid.NewGuid(), - TenantId = Guid.NewGuid().ToString(), - OrganizationVersion = "0.0.0.0", - Endpoints = - { - { EndpointType.OrganizationDataService, "http://localhost/XrmService/2011/OrganizationData.svc" } - } - } + Details = _organizationDetail }; _context.SetProperty(currentOrgDetails); @@ -47,15 +57,19 @@ public void Should_retrieve_current_organization_details() Assert.NotNull(response); var orgDetail = (response as RetrieveCurrentOrganizationResponse).Detail; + #if FAKE_XRM_EASY_9 Assert.Equal(currentOrgDetails.Details.EnvironmentId, orgDetail.EnvironmentId); Assert.Equal(currentOrgDetails.Details.Geo, orgDetail.Geo); + Assert.Equal(currentOrgDetails.Details.TenantId, orgDetail.TenantId); + #endif Assert.Equal(currentOrgDetails.Details.State, orgDetail.State); Assert.Equal(currentOrgDetails.Details.FriendlyName, orgDetail.FriendlyName); Assert.Equal(currentOrgDetails.Details.UniqueName, orgDetail.UniqueName); Assert.Equal(currentOrgDetails.Details.UrlName, orgDetail.UrlName); Assert.Equal(currentOrgDetails.Details.OrganizationId, orgDetail.OrganizationId); - Assert.Equal(currentOrgDetails.Details.TenantId, orgDetail.TenantId); Assert.Equal(currentOrgDetails.Details.OrganizationVersion, orgDetail.OrganizationVersion); } } -} \ No newline at end of file +} + +#endif \ No newline at end of file