Initial commit: JDE Scoping Tool migration project
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
This commit is contained in:
+91
@@ -0,0 +1,91 @@
|
||||
namespace JdeScoping.DataSync.IntegrationTests.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes the test database schema.
|
||||
/// Creates test tables that mirror production schemas.
|
||||
/// </summary>
|
||||
public static class TestDatabaseInitializer
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates all test tables in the database.
|
||||
/// </summary>
|
||||
public static async Task InitializeAsync(string connectionString)
|
||||
{
|
||||
await using var connection = new SqlConnection(connectionString);
|
||||
await connection.OpenAsync();
|
||||
|
||||
// WorkOrder_Test: For MERGE and bulk copy tests (has LastUpdateDT)
|
||||
await connection.ExecuteAsync(@"
|
||||
IF OBJECT_ID('WorkOrder_Test', 'U') IS NOT NULL
|
||||
DROP TABLE WorkOrder_Test;
|
||||
|
||||
CREATE TABLE WorkOrder_Test (
|
||||
OrderNumber INT NOT NULL PRIMARY KEY,
|
||||
Status VARCHAR(10) NULL,
|
||||
Description VARCHAR(100) NULL,
|
||||
Quantity DECIMAL(18,4) NULL,
|
||||
LastUpdateDT DATETIME2 NOT NULL
|
||||
);
|
||||
|
||||
CREATE NONCLUSTERED INDEX IX_WorkOrder_Test_Status
|
||||
ON WorkOrder_Test(Status);
|
||||
");
|
||||
|
||||
// Item_Test: For tables WITHOUT LastUpdateDT (unconditional update)
|
||||
await connection.ExecuteAsync(@"
|
||||
IF OBJECT_ID('Item_Test', 'U') IS NOT NULL
|
||||
DROP TABLE Item_Test;
|
||||
|
||||
CREATE TABLE Item_Test (
|
||||
ItemNumber VARCHAR(25) NOT NULL PRIMARY KEY,
|
||||
Description VARCHAR(100) NULL,
|
||||
UnitOfMeasure VARCHAR(10) NULL
|
||||
);
|
||||
");
|
||||
|
||||
// LotUsage_Test: For composite primary key tests
|
||||
await connection.ExecuteAsync(@"
|
||||
IF OBJECT_ID('LotUsage_Test', 'U') IS NOT NULL
|
||||
DROP TABLE LotUsage_Test;
|
||||
|
||||
CREATE TABLE LotUsage_Test (
|
||||
LotNumber VARCHAR(30) NOT NULL,
|
||||
OrderNumber INT NOT NULL,
|
||||
Quantity DECIMAL(18,4) NULL,
|
||||
LastUpdateDT DATETIME2 NOT NULL,
|
||||
CONSTRAINT PK_LotUsage_Test PRIMARY KEY (LotNumber, OrderNumber)
|
||||
);
|
||||
");
|
||||
|
||||
// DataUpdate_Test: For update logging tests
|
||||
await connection.ExecuteAsync(@"
|
||||
IF OBJECT_ID('DataUpdate_Test', 'U') IS NOT NULL
|
||||
DROP TABLE DataUpdate_Test;
|
||||
|
||||
CREATE TABLE DataUpdate_Test (
|
||||
Id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
TableName VARCHAR(50) NOT NULL,
|
||||
SourceSystem VARCHAR(10) NOT NULL,
|
||||
SourceData VARCHAR(50) NOT NULL,
|
||||
UpdateType INT NOT NULL,
|
||||
StartDT DATETIME2 NOT NULL,
|
||||
EndDT DATETIME2 NULL,
|
||||
NumberRecords INT NOT NULL,
|
||||
WasSuccessful BIT NULL
|
||||
);
|
||||
");
|
||||
|
||||
// BulkMergeTest: For BulkMergeHelper integration tests
|
||||
await connection.ExecuteAsync(@"
|
||||
IF OBJECT_ID('BulkMergeTest', 'U') IS NOT NULL
|
||||
DROP TABLE BulkMergeTest;
|
||||
|
||||
CREATE TABLE BulkMergeTest (
|
||||
Id INT NOT NULL PRIMARY KEY,
|
||||
Name NVARCHAR(100) NOT NULL,
|
||||
Amount DECIMAL(18,2) NULL,
|
||||
LastUpdateDt DATETIME2 NOT NULL
|
||||
);
|
||||
");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user