public void AddAccount_GivenValidCredentialsAndDto_ShouldAddTheAccountSuccessfully(int applicationId, string personNumber) { // ARRANGE var app = GetApplication(applicationId); var applicant = GetApplicant(); var addAccount = GetAddAccount(personNumber); var credentials = GetCredentials(); string messageXml = addAccount.Message?.SerializeToXmlString(); var stubSoapClient = Substitute.For <CcmWebServiceSoap>(); //var stubSoapClient = new CcmWebServiceSoapClient("CcmWebServiceSoap", "https://dna-ccmapp-ttd.uccu.com/ccm-Test-ws/ccmwebservice/ccmwebservice.asmx"); var repo = new SoapRepository("ABC123", credentials, stubSoapClient); var credentialsHeader = new CredentialsHeader() { Username = credentials.Username, Password = credentials.Password, Facility = credentials.Facility, CultureId = "en" }; messageXml = HostValueTranslator.UpdateRequestWithHostValues(messageXml, app.HostValues, addAccount.Message?.HostValueParentNode); messageXml = HostValueTranslator.UpdateRequestWithHostValues(messageXml, applicant.HostValues, addAccount.Message?.HostValueParentNode); var processMessageNodeRequest = new ProcessMessageNodeRequest(); processMessageNodeRequest.CredentialsHeader = credentialsHeader; processMessageNodeRequest.request = GetXmlNode(messageXml); repo.ProcessMessageNodeRequest = processMessageNodeRequest; var messageResponse = new MessageResponse() { TraceNumber = applicationId.ToString(), ResponseCode = "Success", AccountNumber = "2001158945704" }; var messageResponseXml = messageResponse.SerializeToXmlString(); var processMessageNodeResponse = new ProcessMessageNodeResponse() { ProcessMessageNodeResult = GetXmlNode(messageResponseXml) }; repo.SoapClient.ProcessMessageNode(processMessageNodeRequest).Returns(processMessageNodeResponse); // ACT var messageNodeResponse = repo.ProcessMessage(messageXml); // ASSERT Assert.IsNotNull(repo.MessageResponse); Assert.AreEqual("Success", repo.MessageResponse.ResponseCode); }