public async void SaveAllTest() { // Arrange var mockLogManager = new Mock <ILogManager>(); var mockClientSettingValidator = new Mock <IClientSettingValidator>(); var mockClientSettingRepository = new Mock <IClientSettingRepository>(); var mockClientSettings = new List <IClientSetting> { new Mock <IClientSetting>().Object }; // Setup mock methods/properties mockClientSettingRepository.Setup(x => x.SaveAllAsync(It.IsAny <IReadOnlyList <IClientSetting> >())) .Returns(Task.FromResult(new SaveResponse <IReadOnlyList <IClientSetting> > { Message = "Successful." })); // Act var sut = new ClientSettingApplicationService( mockLogManager.Object, mockClientSettingRepository.Object, mockClientSettingValidator.Object); var response = await sut.SaveAllAsync(mockClientSettings); // 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. mockClientSettingRepository.Verify(x => x.SaveAllAsync(It.IsAny <IReadOnlyList <IClientSetting> >())); }
public async void SaveAllErrorTest() { // Arrange var mockLogManager = new Mock <ILogManager>(); var mockClientSettingValidator = new Mock <IClientSettingValidator>(); var mockClientSettingRepository = new Mock <IClientSettingRepository>(); var mockClientSettings = new List <IClientSetting> { new Mock <IClientSetting>().Object }; // Setup mock methods/properties mockClientSettingRepository.Setup(x => x.SaveAllAsync(It.IsAny <IReadOnlyList <IClientSetting> >())) .Throws(new Exception()); // Act var sut = new ClientSettingApplicationService( mockLogManager.Object, mockClientSettingRepository.Object, mockClientSettingValidator.Object); var response = await sut.SaveAllAsync(mockClientSettings); // 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. mockClientSettingRepository.Verify(x => x.SaveAllAsync(It.IsAny <IReadOnlyList <IClientSetting> >())); // Verify the application service is logging the error. mockLogManager.Verify(x => x.LogError(It.IsAny <Exception>(), It.IsAny <string>())); }