Exemple #1
0
        //esta prueba contiene un contacto al que le faltan el nombre y el email, por lo que el validador deberia devolver una lista con dos errores solamente
        public void IsContactValid_ShoudlReturnMissingSome()
        {
            //este es contacto de prueba
            TempContact contact = new TempContact()
            {
                FirstName   = "",
                LastName    = "Perez",
                Company     = "JuanPerez S.A.",
                Email       = "",
                PhoneNumber = "11-1212-4455"
            };

            //este es el valor esperado con el detalle de error correspondiente
            List <string> expected = new List <string>();

            expected.Add(" el campo nombre no puede estar vacío ");
            expected.Add(" el campo correo electrónico no puede estar vacío");

            List <string> actual = Validator.IsContactValid(contact);

            CollectionAssert.AreEqual(expected, actual);
        }
Exemple #2
0
        private void SetTempPerson(object contact)
        {
            currentContact = contact == null ?
                             new Models.Contacts()
            {
                ID = Guid.NewGuid().ToString()
            } : contact as Models.Contacts;

            //TODO: Можно ли вместо создания нового прокси-контакта
            //присвоить занчение полю TemporaryContact (Проверить)
            var temporary = new ProxyContact(currentContact)
            {
                FirstName   = currentContact.FirstName,
                LastName    = currentContact.LastName,
                IsFavorite  = currentContact.IsFavorite,
                Email       = currentContact.Email,
                PhoneNumber = currentContact.PhoneNumber,
                GroupID     = currentContact.GroupID,
                Validator   = i =>
                {
                    var u = i as ProxyContact;
                    if (string.IsNullOrEmpty(u.FirstName))
                    {
                        u.Properties[nameof(u.FirstName)].Errors.Add("Firstname is required");
                    }
                    if (string.IsNullOrEmpty(u.LastName))
                    {
                        u.Properties[nameof(u.LastName)].Errors.Add("Lastname is required");
                    }
                    else if (u.LastName.Length < 3)
                    {
                        u.Properties[nameof(u.LastName)].Errors.Add("Lastname must consist of minimum 3 characters");
                    }
                },
            };

            TempContact = temporary;
            TempContact.Validate();
        }