public async Task ExecuteAsync_Normally_AllHappens() { var testable = new SqlDatabaseSession(_sqlContext.Object, _logger); await testable.ExecuteAsync("DELETE FROM Cable WHERE Id = @id", new { id = 12 }); testable.ExecutionTime.Should().Be(new TimeSpan(0, 0, 0, 0, 386)); // Gets passed from internal dependency. _sqlContext.Verify(m => m.ExecuteSql(It.IsAny <Func <IDbTransaction, Task <int> > >()), Times.Once); _logger.LoggedMessages.Should().HaveCount(1); _logger.LoggedMessages[0].Should().Be("TRACE: ExecuteAsync(DELETE FROM Cable WHERE Id = @id) issued for SqlDatabaseSession."); }
public async Task ExecuteAsync_Typed_AllHappens() { var testable = new SqlDatabaseSession(_sqlContext.Object, _logger); string result = await testable.ExecuteAsync <string>("SELECT label FROM Somewhere WHERE Id = @id", new { id = 12 }); testable.ExecutionTime.Should().Be(new TimeSpan(0, 0, 0, 0, 386)); // Gets passed from internal dependency. _sqlContext.Verify(m => m.ExecuteSql(It.IsAny <Func <IDbTransaction, Task <string> > >()), Times.Once); _logger.LoggedMessages.Should().HaveCount(1); _logger.LoggedMessages[0] .Should() .Be("TRACE: Execute<T>(SELECT label FROM Somewhere WHERE Id = @id) called with expected return of type String."); }