Beispiel #1
0
        public void WhenInjectingOrganisationAndContactHappyPathForAnApplication(InjectionTestCase testCase)
        {
            List <ValidationErrorDetail> validationErrors = new List <ValidationErrorDetail>();

            if (testCase.IsOrganisationStandardTaken)
            {
                validationErrors.Add(new ValidationErrorDetail {
                    ErrorMessage = "standard taken"
                });
            }
            else if (testCase.Command.StandardCode < 1)
            {
                validationErrors.Add(new ValidationErrorDetail {
                    ErrorMessage = "standard invalid"
                });
            }

            _mockApiClient.Setup(r => r.CreateOrganisationStandardValidate(It.IsAny <CreateEpaOrganisationStandardValidationRequest>()))
            .Returns(Task.FromResult(new ValidationResponse {
                Errors = validationErrors
            }));

            _mockApiClient.Setup(r => r.CreateEpaOrganisationStandard(It.IsAny <CreateEpaOrganisationStandardRequest>()))
            .Returns(Task.FromResult(testCase.ExpectedResponse.EpaoStandardId));

            var actualResponse = _answerInjectionService.InjectApplyOrganisationStandardDetailsIntoRegister(testCase.Command).Result;

            if (actualResponse.WarningMessages.Count > 0)
            {
                actualResponse.WarningMessages = testCase.ExpectedResponse.WarningMessages;
            }

            Assert.AreEqual(JsonConvert.SerializeObject(testCase.ExpectedResponse), JsonConvert.SerializeObject(actualResponse));

            if (actualResponse.WarningMessages.Count > 0)
            {
                _mockApiClient.Verify(r => r.CreateEpaOrganisationStandard(It.IsAny <CreateEpaOrganisationStandardRequest>()), Times.Never);
            }
            else
            {
                _mockApiClient.Verify(r => r.CreateEpaOrganisationStandard(It.IsAny <CreateEpaOrganisationStandardRequest>()), Times.Once);
            }
        }