public void CreateContactForUserWithEmailAddressOfExistingContactOnContactService()
        {
            //arrange
            var mockContactRepository = new Mock<IContactRepository>();
            var mockUserService = new Mock<IUserService>();

            Contact contactToCreate = new Contact
            {
                UserId = new Guid("26e31dde-4bcb-47d4-be80-958676c5cafd"),
                Title = "Dr",
                Email = "*****@*****.**",
                Forename = "T",
                Surname = "Reyes"
            };

            mockContactRepository.Setup(x => x.GetAll()).Returns(_contacts);
            mockUserService.Setup(x => x.Get(It.IsAny<Guid>())).Returns(_user);

            ContactService contactService = new ContactService(mockContactRepository.Object, mockUserService.Object);

            //act
            Guid contactId = contactService.Create(contactToCreate);

            //assert - expect excpetion
            contactService.Dispose();
        }
        public void CreateNewContactForNoneExistentUserOnContactService()
        {
            //arrange
            var mockContactRepository = new Mock<IContactRepository>();
            var mockUserService = new Mock<IUserService>();

            var contactToCreate = new Contact { UserId = new Guid("318274f0-573c-416b-aa4b-b68b83ec8427"), Forename = "Carlos", Surname = "Daniels", Email = "*****@*****.**", Title = "Mr" };

            mockContactRepository.Setup(x => x.GetAll()).Returns(_contacts);
            mockUserService.Setup(x => x.Get(It.IsAny<Guid>())).Returns(() => null);

            ContactService contactService = new ContactService(mockContactRepository.Object, mockUserService.Object);

            //act
            Guid contactId = contactService.Create(contactToCreate);

            //assert

            contactService.Dispose();
        }
        public void CreateNewContactOnContactService()
        {
            //arrange
            var mockContactRepository = new Mock<IContactRepository>();
            var mockUserService = new Mock<IUserService>();

            var contactToCreate = new Contact { UserId = new Guid("0d1a6711-e9eb-418e-adda-47a62a7900c9"), Forename = "Carlos", Surname = "Daniels", Email = "*****@*****.**", Title = "Mr" };

            mockContactRepository.Setup(x => x.GetAll()).Returns(_contacts);
            mockUserService.Setup(x => x.Get(It.IsAny<Guid>())).Returns(_users[10]);

            ContactService contactService = new ContactService(mockContactRepository.Object, mockUserService.Object);

            //act
            Guid contactId = contactService.Create(contactToCreate);

            //assert
            mockContactRepository.Verify(y => y.Create(It.IsAny<Contact>()));
            Assert.IsNotNull(contactId);

            contactService.Dispose();
        }