public void FetchLastDiagnostics_Test() { //Arrange var diagnosticsContextFactory = new Mock<IPrompterDiagnosticsDbContextFactory>(); var diagnosticsContext = new Mock<IPrompterDiagnosticsDbContext>(); var diagnosticsDbSet = new Mock<IDbSet<Diagnostics>>(); var diagnostics = new List<Diagnostics> { new Diagnostics { DiagnosticsId = 1, Date = DateTime.Now }, new Diagnostics { DiagnosticsId = 2, Date = DateTime.Now } }.AsQueryable(); diagnosticsContextFactory.Setup(t => t.Create()) .Returns(diagnosticsContext.Object); diagnosticsDbSet.Setup(t => t.Provider) .Returns(diagnostics.Provider); diagnosticsDbSet.Setup(t => t.Expression) .Returns(diagnostics.Expression); diagnosticsDbSet.Setup(t => t.GetEnumerator()) .Returns(diagnostics.GetEnumerator()); diagnosticsContext.Setup(t => t.Diagnostics) .Returns(diagnosticsDbSet.Object); var diagnosticsService = new DiagnosticsService(diagnosticsContextFactory.Object); //Act var actual = diagnosticsService.FetchLastDiagnostics(); //Assert Assert.That(actual, Is.Not.Null); Assert.That(actual.Count, Is.EqualTo(2)); diagnosticsContext.Verify(t => t.Diagnostics, Times.Once()); }
public async void SaveDiagnosticAsync_Test() { //Arrange var diagnosticContextFactory = new Mock<IPrompterDiagnosticsDbContextFactory>(); var diagnosticContext = new Mock<IPrompterDiagnosticsDbContext>(); diagnosticContext.Setup(t => t.Diagnostics.Add(It.IsAny<Diagnostics>())); diagnosticContextFactory.Setup(t => t.Create()) .Returns(diagnosticContext.Object); var diagnosticsService = new DiagnosticsService(diagnosticContextFactory.Object); //Act await diagnosticsService.SaveDiagnosticAsync(new Diagnostics()); //Assert diagnosticContextFactory.Verify(t => t.Create(), Times.Once); diagnosticContext.Verify(t => t.SaveChangesAsync(), Times.Once); Assert.Throws<ArgumentNullException>( async () => await diagnosticsService.SaveDiagnosticAsync(null)); }