Esempio n. 1
0
        public void When_a_request_without_incident_resolution_is_called_exception_is_raised()
        {
            var context = new XrmFakedContext();

            var incident = new Entity
            {
                LogicalName = Crm.Incident.EntityLogicalName,
                Id          = Guid.NewGuid()
            };

            context.Initialize(new[]
            {
                incident
            });

            var executor = new CloseIncidentRequestExecutor();

            CloseIncidentRequest closeIncidentRequest = new CloseIncidentRequest
            {
                IncidentResolution = null,
                Status             = new OptionSetValue(StatusProblemSolved)
            };

            Assert.Throws <FaultException <OrganizationServiceFault> >(() => executor.Execute(closeIncidentRequest, context));
        }
Esempio n. 2
0
        public void When_a_request_with_invalid_incidentid_is_called_exception_is_raised()
        {
            var context = new XrmFakedContext();

            context.Initialize(new Entity(Crm.Incident.EntityLogicalName)
            {
                Id = Guid.NewGuid()
            });
            var executor = new CloseIncidentRequestExecutor();

            Entity incidentResolution = new Entity
            {
                LogicalName    = Crm.IncidentResolution.EntityLogicalName,
                ["subject"]    = "subject",
                ["incidentid"] = new EntityReference(Crm.Incident.EntityLogicalName, Guid.NewGuid())
            };

            CloseIncidentRequest closeIncidentRequest = new CloseIncidentRequest
            {
                IncidentResolution = incidentResolution,
                Status             = new OptionSetValue(StatusProblemSolved)
            };

            Assert.Throws <FaultException <OrganizationServiceFault> >(() => executor.Execute(closeIncidentRequest, context));
        }
Esempio n. 3
0
        public void When_can_execute_is_called_with_an_invalid_request_result_is_false()
        {
            var executor       = new CloseIncidentRequestExecutor();
            var anotherRequest = new RetrieveMultipleRequest();

            Assert.False(executor.CanExecute(anotherRequest));
        }
Esempio n. 4
0
        public void When_a_request_without_status_is_called_exception_is_raised()
        {
            var context = new XrmFakedContext();

            var incident = new Entity
            {
                LogicalName = Crm.Incident.EntityLogicalName,
                Id          = Guid.NewGuid()
            };

            context.Initialize(new[]
            {
                incident
            });

            Entity incidentResolution = new Entity
            {
                LogicalName    = Crm.IncidentResolution.EntityLogicalName,
                ["subject"]    = "subject",
                ["incidentid"] = new EntityReference(Crm.Incident.EntityLogicalName, incident.Id)
            };

            var executor = new CloseIncidentRequestExecutor();

            CloseIncidentRequest closeIncidentRequest = new CloseIncidentRequest
            {
                IncidentResolution = incidentResolution,
                Status             = null
            };

            Assert.Throws <FaultException <OrganizationServiceFault> >(() => executor.Execute(closeIncidentRequest, context));
        }
Esempio n. 5
0
        public void When_a_request_is_called_Incident_Is_Resolved()
        {
            var context = new XrmFakedContext();

            var incident = new Entity
            {
                LogicalName = Crm.Incident.EntityLogicalName,
                Id          = Guid.NewGuid()
            };

            context.Initialize(new[]
            {
                incident
            });

            var executor = new CloseIncidentRequestExecutor();

            Entity incidentResolution = new Entity
            {
                LogicalName    = Crm.IncidentResolution.EntityLogicalName,
                ["subject"]    = "subject",
                ["incidentid"] = new EntityReference(Crm.Incident.EntityLogicalName, incident.Id)
            };

            CloseIncidentRequest closeIncidentRequest = new CloseIncidentRequest
            {
                IncidentResolution = incidentResolution,
                Status             = new OptionSetValue(StatusProblemSolved)
            };

            executor.Execute(closeIncidentRequest, context);

            var retrievedIncident = context.Data[Crm.Incident.EntityLogicalName].Values.Single();

            Assert.Equal(StatusProblemSolved, retrievedIncident.GetAttributeValue <OptionSetValue>("statuscode").Value);
            Assert.Equal((int)Crm.IncidentState.Resolved, retrievedIncident.GetAttributeValue <OptionSetValue>("statecode").Value);
        }