public void ShouldPassValidationWithValidSSN()
 {
     AddCustomerRequest request = new AddCustomerRequest("John", "Doe", "012-34-5678");
     Validator v = ValidationFactory.CreateValidator<AddCustomerRequest>();
     ValidationResults results = v.Validate(request);
     Assert.IsTrue(results.IsValid);
 }
 public AddCustomerResponse AddCustomer(AddCustomerRequest request)
 {
     AddCustomerResponse response = new AddCustomerResponse();
     response.FullName = string.Format("{0} {1}", request.FirstName, request.LastName);
     response.Added = true;
     return response;
 }
 public void ShouldFailValidationWithInvalidSSN()
 {
     AddCustomerRequest request = new AddCustomerRequest("John", "Doe", "Not an SSN");
     Validator v = ValidationFactory.CreateValidator<AddCustomerRequest>();
     ValidationResults results = v.Validate(request);
     Assert.IsFalse(results.IsValid);
 }
        public void ShouldNotThrowOnValidInput()
        {
            string opName = "AddCustomer";
            ValidationParameterInspector inspector = GetInspector(opName, typeof(ITestService));

            AddCustomerRequest request = new AddCustomerRequest("Jane", "Doe", "987-65-4321");
            inspector.BeforeCall(opName, new object[] { request });
        }
        public void ShouldThrowValidationFaultInBeforeCallOnInvalidInput()
        {
            string opName = "AddCustomer";
            ValidationParameterInspector inspector = GetInspector(opName, typeof(ITestService));

            AddCustomerRequest request = new AddCustomerRequest("Jane", "Doe", "Invalid SSN");
            inspector.BeforeCall(opName, new object[] { request });
        }
        public void FailsValidationWithInvalidInput()
        {
            ITestService proxy = host.Proxy;

            AddCustomerRequest request = new AddCustomerRequest();
            request.FirstName = "John";
            request.LastName = "Doe";
            request.SSN = "This is not a valid SSN";

            proxy.AddCustomer(request);
        }
        public void ShouldGiveCorrectFaultDetails()
        {
            AddCustomerRequest request = new AddCustomerRequest("First", "Last", "Invalid SSN");

            try
            {
                host.Proxy.AddCustomer(request);
                Assert.Fail("If you got here, the validation exception didn't happen");
            }
            catch (FaultException<ValidationFault> e)
            {
                ValidationFault yourFault = e.Detail;
                Assert.IsFalse(yourFault.IsValid);
                Assert.AreEqual(1, yourFault.Details.Count);
                Assert.AreEqual("SSN", yourFault.Details[0].Key);
                Assert.AreEqual("request", yourFault.Details[0].Tag);
            }
        }