public async void GetAllTest() { // Arrange var mockLogManager = new Mock <ILogManager>(); var mockRuleSetRepository = new Mock <IRuleSetRepository>(); var mockRuleSetTranslator = new Mock <IRuleSetTranslator>(); var mockRuleAssemblyService = new Mock <IRuleSetAssemblyService>(); // Setup mock methods/properties mockRuleSetRepository.Setup(x => x.GetAllAsync()) .Returns(Task.FromResult(new GetResponse <IReadOnlyList <IRuleSet> > { Message = "Successful." })); // Act var sut = new RuleApplicationService( mockLogManager.Object, mockRuleSetRepository.Object, mockRuleSetTranslator.Object, mockRuleAssemblyService.Object); var response = await sut.GetAllAsync(); // 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. mockRuleSetRepository.Verify(x => x.GetAllAsync()); }
public async void GetAllErrorTest() { // Arrange var mockLogManager = new Mock <ILogManager>(); var mockRuleSetRepository = new Mock <IRuleSetRepository>(); var mockRuleSetTranslator = new Mock <IRuleSetTranslator>(); var mockRuleAssemblyService = new Mock <IRuleSetAssemblyService>(); // Setup mock methods/properties mockRuleSetRepository.Setup(x => x.GetAllAsync()) .Throws(new Exception()); // Act var sut = new RuleApplicationService( mockLogManager.Object, mockRuleSetRepository.Object, mockRuleSetTranslator.Object, mockRuleAssemblyService.Object); var response = await sut.GetAllAsync(); // 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. mockRuleSetRepository.Verify(x => x.GetAllAsync()); // Verify the application service is logging the error. mockLogManager.Verify(x => x.LogError(It.IsAny <Exception>(), It.IsAny <string>())); }