< Summary

Information
Class: Elsa.Persistence.VNext.Builders.PersistenceSchemaBuilder
Assembly: Elsa.Persistence.VNext
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.VNext/Builders/PersistenceSchemaBuilder.cs
Line coverage
70%
Covered lines: 12
Uncovered lines: 5
Coverable lines: 17
Total lines: 38
Line coverage: 70.5%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Version(...)50%2275%
Table(...)100%210%
StorageUnit(...)100%11100%
Build()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.VNext/Builders/PersistenceSchemaBuilder.cs

#LineLine coverage
 1namespace Elsa.Persistence.VNext.Builders;
 2
 343public class PersistenceSchemaBuilder(string name)
 4{
 345    private readonly List<PersistenceTable> _tables = [];
 346    private readonly List<PersistenceStorageUnit> _storageUnits = [];
 347    private int _version = 1;
 8
 9    public PersistenceSchemaBuilder Version(int version)
 10    {
 1311        if (version < 1)
 012            throw new ArgumentOutOfRangeException(nameof(version), version, "Schema version must be greater than zero.")
 13
 1314        _version = version;
 1315        return this;
 16    }
 17
 18    public PersistenceSchemaBuilder Table(string name, Action<PersistenceTableBuilder> configure, string? schema = null)
 19    {
 020        var builder = new PersistenceTableBuilder(name, schema);
 021        configure(builder);
 022        _tables.Add(builder.Build());
 023        return this;
 24    }
 25
 26    public PersistenceSchemaBuilder StorageUnit(string name, Action<PersistenceStorageUnitBuilder> configure, string? @n
 27    {
 4228        var builder = new PersistenceStorageUnitBuilder(name, @namespace);
 4229        configure(builder);
 4230        _storageUnits.Add(builder.Build());
 4231        return this;
 32    }
 33
 34    public PersistenceSchema Build()
 35    {
 3436        return new PersistenceSchema(Name: name, Version: _version, Tables: _tables.ToList(), StorageUnits: _storageUnit
 37    }
 38}