feat(etl): add CommonScripts factory for index and statistics scripts

This commit is contained in:
Joseph Doherty
2026-01-03 09:05:13 -05:00
parent 82573df023
commit c644b578ba
2 changed files with 77 additions and 0 deletions
@@ -0,0 +1,38 @@
using JdeScoping.DataAccess.Interfaces;
using JdeScoping.DataSync.Etl.Scripts;
using NSubstitute;
namespace JdeScoping.DataSync.Tests.Etl.Scripts;
public class CommonScriptsTests
{
private readonly IDbConnectionFactory _factory = Substitute.For<IDbConnectionFactory>();
[Fact]
public void DisableIndexes_ReturnsRunnerWithCorrectName()
{
var runner = CommonScripts.DisableIndexes(_factory, "WorkOrder");
Assert.Equal("DisableIndexes:WorkOrder", runner.ScriptName);
}
[Fact]
public void RebuildIndexes_ReturnsRunnerWithCorrectName()
{
var runner = CommonScripts.RebuildIndexes(_factory, "WorkOrder");
Assert.Equal("RebuildIndexes:WorkOrder", runner.ScriptName);
}
[Fact]
public void UpdateStatistics_ReturnsRunnerWithCorrectName()
{
var runner = CommonScripts.UpdateStatistics(_factory, "WorkOrder");
Assert.Equal("UpdateStats:WorkOrder", runner.ScriptName);
}
[Fact]
public void CustomSql_ReturnsRunnerWithProvidedName()
{
var runner = CommonScripts.CustomSql(_factory, "SELECT 1", "MyCustomScript");
Assert.Equal("MyCustomScript", runner.ScriptName);
}
}