< Summary

Information
Class: ProjectTemplate.Infrastructure.Data.Auditing.LocalApplicationAuditStore
Assembly: ProjectTemplate.Infrastructure
File(s): /home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/src/ProjectTemplate.Infrastructure/Data/Auditing/LocalApplicationAuditStore.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 33
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Append(...)100%11100%
AppendAsync()100%11100%

File(s)

/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/src/ProjectTemplate.Infrastructure/Data/Auditing/LocalApplicationAuditStore.cs

#LineLine coverage
 1using ProjectTemplate.Infrastructure.Data.Entities;
 2
 3namespace ProjectTemplate.Infrastructure.Data.Auditing;
 4
 5/// <summary>
 6/// Stores application audit records in the local EF Core audit record table.
 7/// </summary>
 8public sealed class LocalApplicationAuditStore : IApplicationAuditStore
 9{
 10    /// <inheritdoc />
 11    public void Append(
 12        ApplicationDbContext dbContext,
 13        AuditRecord auditRecord)
 14    {
 415        ArgumentNullException.ThrowIfNull(dbContext);
 416        ArgumentNullException.ThrowIfNull(auditRecord);
 17
 418        _ = dbContext.AuditRecords.Add(auditRecord);
 419    }
 20
 21    /// <inheritdoc />
 22    public async ValueTask AppendAsync(
 23        ApplicationDbContext dbContext,
 24        AuditRecord auditRecord,
 25        CancellationToken cancellationToken = default)
 26    {
 4427        ArgumentNullException.ThrowIfNull(dbContext);
 4428        ArgumentNullException.ThrowIfNull(auditRecord);
 4429        cancellationToken.ThrowIfCancellationRequested();
 30
 4431        _ = await dbContext.AuditRecords.AddAsync(auditRecord, cancellationToken).ConfigureAwait(false);
 4432    }
 33}