chore: deploy initial code base

This commit is contained in:
Thom Lamb
2026-05-12 10:34:30 -05:00
parent cce2961782
commit a81300a571
1829 changed files with 248331 additions and 1 deletions
@@ -0,0 +1,114 @@
using NUnit.Framework;
using Strata.ContinuousImprovement.Biz.Shared;
using Strata.ContinuousImprovement.Biz.StrategicOpportunities.DistributionProcess.ChargeCode;
using Strata.ContinuousImprovement.Biz.StrategicOpportunities.Enums;
using Strata.ContinuousImprovement.Biz.Test.Unit.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using VerifyNUnit;
using VerifyTests;
namespace Strata.ContinuousImprovement.Biz.Test.Unit.StrategicOpportunities.DistributionProcess
{
public class DistributionProcessChargeCodeSqlBuilderTests : StrategicOpportunityTestsBase
{
private readonly long _testOpportunityId = 0;
private readonly Period<DateOnly> _baselinePeriod;
private readonly Period<DateOnly> _goalPeriod;
private readonly Period<DateOnly> _trackingPeriod;
private readonly double[] _rampUps;
public DistributionProcessChargeCodeSqlBuilderTests()
{
_baselinePeriod = new Period<DateOnly>(new DateOnly(2024, 1, 1), new DateOnly(2024, 12, 31));
_goalPeriod = new Period<DateOnly>(new DateOnly(2025, 1, 1), new DateOnly(2025, 12, 31));
_trackingPeriod = new Period<DateOnly>(new DateOnly(2026, 1, 1), new DateOnly(2026, 12, 31));
_rampUps = [0.1, 0.2, 0.3, 0.4];
}
[TestCaseSource(nameof(BuildInsertDistributedSqlTestCases))]
public async Task BuildInsertDistributedSqlTest(DistributionMethod methodType, DistributionStage stage)
{
// Arrange
var builder = new DistributionProcessChargeCodeSqlBuilder(
_testOpportunityId,
_baselinePeriod,
_goalPeriod,
_trackingPeriod,
_rampUps);
// Act
var result = builder.BuildInsertDistributedSql(methodType, stage);
// Assert
await Verifier.Verify(result.Sql, VerifySettings)
.UseFileName(TestContext.CurrentContext.TestName());
}
[TestCase(true)]
[TestCase(false)]
public async Task BuildDistributionSummarySqlTest(bool isInitiative)
{
// Arrange
var builder = new DistributionProcessChargeCodeSqlBuilder(
_testOpportunityId,
_baselinePeriod,
_goalPeriod,
_trackingPeriod,
_rampUps);
// Act
var result = builder.BuildDistributionSummarySql(isInitiative);
// Assert
await Verifier.Verify(result.Sql, VerifySettings)
.UseFileName(TestContext.CurrentContext.TestName());
}
[Test]
public async Task BuildUpdateDetailCommittedByRampUpSqlTest()
{
// Arrange
var builder = new DistributionProcessChargeCodeSqlBuilder(
_testOpportunityId,
_baselinePeriod,
_goalPeriod,
_trackingPeriod,
_rampUps);
// Act
var result = builder.BuildUpdateDetailCommittedByRampUpSql(_rampUps.Reverse().ToArray());
// Assert
await Verifier.Verify(result.Sql, VerifySettings)
.UseFileName(TestContext.CurrentContext.TestName());
}
public static IEnumerable<TestCaseData> BuildInsertDistributedSqlTestCases()
{
var distributionMethods = new[]
{
DistributionMethod.Average,
DistributionMethod.Monthly
};
var distributionStages = new[]
{
DistributionStage.FromSourceToOpportunity,
DistributionStage.OpportunityChangeGoalPeriod,
DistributionStage.FromInitiativeToOpportunity,
DistributionStage.FromOpportunityToInitiative,
DistributionStage.InitiativeChangeTrackingPeriod
};
foreach (var method in distributionMethods)
{
foreach (var stage in distributionStages)
{
yield return new TestCaseData(method, stage);
}
}
}
}
}
@@ -0,0 +1,115 @@
using NUnit.Framework;
using Strata.ContinuousImprovement.Biz.Shared;
using Strata.ContinuousImprovement.Biz.StrategicOpportunities.DistributionProcess.GL;
using Strata.ContinuousImprovement.Biz.StrategicOpportunities.Enums;
using Strata.ContinuousImprovement.Biz.Test.Unit.Utilities;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Threading.Tasks;
using VerifyNUnit;
namespace Strata.ContinuousImprovement.Biz.Test.Unit.StrategicOpportunities.DistributionProcess
{
[ExcludeFromCodeCoverage]
[TestFixture, Category("Unit"), Category("CCI")]
public class DistributionProcessGLSqlBuilderTests : StrategicOpportunityTestsBase
{
private readonly long _testOpportunityId = 0;
private readonly Period<DateOnly> _baselinePeriod;
private readonly Period<DateOnly> _goalPeriod;
private readonly Period<DateOnly> _trackingPeriod;
private readonly double[] _rampUps;
public DistributionProcessGLSqlBuilderTests()
{
_baselinePeriod = new Period<DateOnly>(new DateOnly(2024, 1, 1), new DateOnly(2024, 12, 31));
_goalPeriod = new Period<DateOnly>(new DateOnly(2025, 1, 1), new DateOnly(2025, 12, 31));
_trackingPeriod = new Period<DateOnly>(new DateOnly(2026, 1, 1), new DateOnly(2026, 12, 31));
_rampUps = [0.1, 0.2, 0.3, 0.4];
}
[TestCaseSource(nameof(BuildInsertDistributedSqlTestCases))]
public async Task BuildInsertDistributedSqlTest(DistributionMethod methodType, DistributionStage stage)
{
// Arrange
var builder = new DistributionProcessGLSqlBuilder(
_testOpportunityId,
_baselinePeriod,
_goalPeriod,
_trackingPeriod,
_rampUps);
// Act
var result = builder.BuildInsertDistributedSql(methodType, stage);
// Assert
await Verifier.Verify(result.Sql, VerifySettings)
.UseFileName("GL " + TestContext.CurrentContext.TestName());
}
[TestCase(true)]
[TestCase(false)]
public async Task BuildDistributionSummarySqlTest(bool isInitiative)
{
// Arrange
var builder = new DistributionProcessGLSqlBuilder(
_testOpportunityId,
_baselinePeriod,
_goalPeriod,
_trackingPeriod,
_rampUps);
// Act
var result = builder.BuildDistributionSummarySql(isInitiative);
// Assert
await Verifier.Verify(result.Sql, VerifySettings)
.UseFileName("GL " + TestContext.CurrentContext.TestName());
}
[Test]
public async Task BuildUpdateDetailCommittedByRampUpSqlTest()
{
// Arrange
var builder = new DistributionProcessGLSqlBuilder(
_testOpportunityId,
_baselinePeriod,
_goalPeriod,
_trackingPeriod,
_rampUps);
// Act
var result = builder.BuildUpdateDetailCommittedByRampUpSql(_rampUps.Reverse().ToArray());
// Assert
await Verifier.Verify(result.Sql, VerifySettings)
.UseFileName("GL " + TestContext.CurrentContext.TestName());
}
public static IEnumerable<TestCaseData> BuildInsertDistributedSqlTestCases()
{
var distributionMethods = new[]
{
DistributionMethod.Average,
DistributionMethod.Monthly
};
var distributionStages = new[]
{
DistributionStage.FromSourceToOpportunity,
DistributionStage.OpportunityChangeGoalPeriod,
DistributionStage.FromInitiativeToOpportunity,
DistributionStage.FromOpportunityToInitiative,
DistributionStage.InitiativeChangeTrackingPeriod
};
foreach (var method in distributionMethods)
{
foreach (var stage in distributionStages)
{
yield return new TestCaseData(method, stage);
}
}
}
}
}