public async Task ContactIndexShouldReturnListOfContact()
        {
            var listOfContacts = new List<ContactListViewModel>();
            listOfContacts.Add(new ContactListViewModel());
            listOfContacts.Add(new ContactListViewModel() );
            var mock = new Mock<IContactService>();
            mock.Setup(m => m.GetAllContactsAsyn(string.Empty,string.Empty)).ReturnsAsync(listOfContacts);

            var contactController = new ContactController(mock.Object);
            var result = await contactController.Index(string.Empty,string.Empty) as ViewResult;
            var model = result.ViewData.Model as List<ContactListViewModel>;
            Assert.Equal(listOfContacts.Count,model.Count);
        }
        public async Task ContactAddShouldCreateWithRequiredFields()
        {
            var mock = new Mock<IContactService>();
            var contactController = new ContactController(mock.Object);
            
           AutoMapper.Mapper.AddProfile(new ContactViewModelToContact());
            
            var contactViewModel = new ContactAddEditViewModel{FirstName = "Test",Mobile = "012233555"};
            var validationContext = new ValidationContext(contactViewModel, null, null);
            var validationResults = new List<ValidationResult>();
            Validator.TryValidateObject(contactViewModel, validationContext, validationResults);

            foreach (var validationResult in validationResults)
            {
                contactController.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage);
            }
           var result = await contactController.Create(contactViewModel) as RedirectToRouteResult;
            
            Assert.NotNull(result);
            Assert.Equal("Index", result.RouteValues["action"]);
        
        }