public async void DeleteTest()
        {
            // Arrange
            var mockLogManager                = new Mock <ILogManager>();
            var mockContactRepository         = new Mock <IContactRepository>();
            var mockContact                   = new Mock <IContact>();
            var mockContactValidator          = new Mock <IContactValidator>();
            var mockAddressApplicationService = new Mock <IAddressApplicationService>();

            // Setup mock methods/properties
            mockContact.Setup(c => c.Id).Returns(It.IsAny <int>());
            mockContactRepository.Setup(x => x.DeleteAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(new DeleteResponse {
                Message = "Successful."
            }));

            // Act
            var sut = new ContactApplicationService(
                mockLogManager.Object, mockContactRepository.Object, mockContactValidator.Object, mockAddressApplicationService.Object);
            var response = await sut.DeleteAsync(It.IsAny <int>());

            // Assert
            response.IsSuccessful.Should().BeTrue();
            response.Errors.Count.Should().Be(0);
            response.Message.Should().NotBeNullOrEmpty();

            // Verify the application service is calling the correct repository method.
            mockContactRepository.Verify(x => x.DeleteAsync(It.IsAny <int>()));
        }
        public async void DeleteErrorTest()
        {
            // Arrange
            var mockLogManager                = new Mock <ILogManager>();
            var mockContactRepository         = new Mock <IContactRepository>();
            var mockContact                   = new Mock <IContact>();
            var mockContactValidator          = new Mock <IContactValidator>();
            var mockAddressApplicationService = new Mock <IAddressApplicationService>();

            // Setup mock methods/properties
            mockContact.Setup(c => c.Id).Returns(It.IsAny <int>());
            mockContactRepository.Setup(x => x.DeleteAsync(It.IsAny <int>()))
            .Throws(new Exception());

            // Act
            var sut = new ContactApplicationService(
                mockLogManager.Object, mockContactRepository.Object, mockContactValidator.Object, mockAddressApplicationService.Object);
            var response = await sut.DeleteAsync(It.IsAny <int>());

            // Assert
            response.IsSuccessful.Should().BeFalse();
            response.Errors.Count.Should().BeGreaterThan(0);
            response.Message.Should().NotBeNullOrEmpty();

            // Verify the application service is calling the correct repository method.
            mockContactRepository.Verify(x => x.DeleteAsync(It.IsAny <int>()));

            // Verify the application service is logging the error.
            mockLogManager.Verify(x => x.LogError(It.IsAny <Exception>(), It.IsAny <string>()));
        }
        public async void SaveAllTest()
        {
            // Arrange
            var mockLogManager        = new Mock <ILogManager>();
            var mockContactRepository = new Mock <IContactRepository>();
            var mockContacts          = new List <IContact> {
                new Mock <IContact>().Object
            };
            var mockContactValidator          = new Mock <IContactValidator>();
            var mockAddressApplicationService = new Mock <IAddressApplicationService>();

            // Setup mock methods/properties
            mockContactRepository.Setup(x => x.SaveAllAsync(It.IsAny <IReadOnlyList <IContact> >()))
            .Returns(Task.FromResult(new SaveResponse <IReadOnlyList <IContact> > {
                Message = "Successful."
            }));
            mockContactValidator.Setup(x => x.ValidateAsync(It.IsNotNull <IContact>(), CancellationToken.None))
            .Returns(Task.FromResult(new ValidationResult()));

            // Act
            var sut = new ContactApplicationService(
                mockLogManager.Object, mockContactRepository.Object, mockContactValidator.Object, mockAddressApplicationService.Object);
            var response = await sut.SaveAllAsync(mockContacts);

            // Assert
            response.IsSuccessful.Should().BeTrue();
            response.Errors.Count.Should().Be(0);
            response.Message.Should().NotBeNullOrEmpty();

            // Verify the application service is calling the correct repository method.
            mockContactRepository.Verify(x => x.SaveAllAsync(It.IsAny <IReadOnlyList <IContact> >()));

            // Verify the application service is calling the validator
            mockContactValidator.Verify(x => x.ValidateAsync(It.IsNotNull <IContact>(), CancellationToken.None));
        }
        public ContactInfoController(ContactApplicationService contactApplicationService)
        {
            if (contactApplicationService == null)
            {
                throw new ArgumentNullException(nameof(contactApplicationService));
            }

            this.contactApplicationService = contactApplicationService;
        }
        public ContactInfoController(ContactApplicationService contactApplicationService)
        {
            if (contactApplicationService == null)
            {
                throw new ArgumentNullException("contactApplicationService");
            }

            _contactApplicationService = contactApplicationService;
        }
        public async void CreateTest()
        {
            // Arrange
            var mockLogManager                = new Mock <ILogManager>();
            var mockContactRepository         = new Mock <IContactRepository>();
            var mockContactValidator          = new Mock <IContactValidator>();
            var mockAddressApplicationService = new Mock <IAddressApplicationService>();

            // Act
            var sut = new ContactApplicationService(
                mockLogManager.Object, mockContactRepository.Object, mockContactValidator.Object, mockAddressApplicationService.Object);
            var response = await sut.CreateAsync(It.IsAny <int>(), It.IsNotNull <ContactTypeEnum>());

            // Assert
            response.Content.Should().NotBeNull();
            response.Content.Id.Should().NotBe(0);
        }
示例#7
0
 public ContactGroupsController(ContactApplicationService contactAppliactionServer)
 {
     _contactApplicationServer = contactAppliactionServer;
 }
 public ContactsController(ContactApplicationService contactApplication)
 {
     _contactApplication = contactApplication;
 }