6952f686fa
- Add WorkbookFixtureBase and 4 concrete fixtures for shared workbooks - Add ExcelTestHelpers with shared utility methods - Create Integration/ folder with 7 fixture-based test classes: - MinimalSearchTests (5 tests) - SearchResultsSheetTests (5 tests) - MisInfoSheetTests (11 tests) - InvestigationSheetTests (7 tests) - ProtectionAndStyleTests (7 tests) - LegacyFormatTests (5 tests) - LargeDataSetTests (1 test) - Delete redundant ExcelExportIntegrationTests.cs (26 tests) - Delete redundant LegacyComparisonTests.cs (16 tests) - Reduce workbook generations from ~42 to 4 fixtures - Test runtime reduced from ~18 min to ~4 min (76% improvement) - All 122 ExcelIO tests pass
88 lines
3.2 KiB
C#
88 lines
3.2 KiB
C#
using JdeScoping.ExcelIO.Models.Reporting;
|
|
using SearchResult = JdeScoping.Core.Models.SearchResults.SearchResult;
|
|
using MisSearchResult = JdeScoping.Core.Models.SearchResults.MisSearchResult;
|
|
using MisNonMatchSearchResult = JdeScoping.Core.Models.SearchResults.MisNonMatchSearchResult;
|
|
|
|
namespace JdeScoping.ExcelIO.Tests.Fixtures;
|
|
|
|
public class WithMisDataFixture : WorkbookFixtureBase
|
|
{
|
|
protected override SearchModel CreateSearchModel() => new()
|
|
{
|
|
Id = 1,
|
|
Name = "Search With MIS Data",
|
|
UserName = "testuser",
|
|
SubmitDt = new DateTime(2024, 1, 15, 14, 30, 45),
|
|
StartDt = new DateTime(2024, 1, 15, 14, 31, 0),
|
|
EndDt = new DateTime(2024, 1, 15, 14, 35, 0),
|
|
ExtractMisData = true,
|
|
Results =
|
|
[
|
|
new SearchResult
|
|
{
|
|
WorkOrderNumber = 12345,
|
|
WorkOrderBranchCode = "001",
|
|
LotNumber = "LOT-001",
|
|
ItemNumber = "ITEM-001",
|
|
PlanningFamily = "PF01",
|
|
StockingType = "M",
|
|
OrderQuantity = 100,
|
|
HeldQuantity = 0,
|
|
ScrappedQuantity = 0,
|
|
ShippedQuantity = 50,
|
|
StepBranchCode = "001",
|
|
StepNumber = 10,
|
|
StepDescription = "Assembly",
|
|
FunctionOperationDescription = "Main assembly",
|
|
StepUpdateDt = new DateTime(2024, 1, 14, 10, 0, 0),
|
|
StatusCode = "50",
|
|
StatusDescription = "In Progress",
|
|
Flagged = true
|
|
}
|
|
],
|
|
MisResults =
|
|
[
|
|
new MisSearchResult
|
|
{
|
|
ItemNumber = "ITEM-001",
|
|
SequenceNumber = "010",
|
|
MisNumber = "MIS-001",
|
|
RevId = "A",
|
|
ItemDescription = "Test Item",
|
|
Status = "Released",
|
|
ReleaseDate = new DateTime(2023, 12, 15),
|
|
BranchCode = "001",
|
|
JobStepSequenceNumber = 10,
|
|
MatchedSequenceNumber = 10,
|
|
RoutingMatch = true,
|
|
MasterMatch = true,
|
|
FunctionOperationDescription = "Assembly operation",
|
|
CharNumber = "001",
|
|
TestDescription = "Sample test description",
|
|
SamplingType = "100%",
|
|
SamplingValue = "1",
|
|
ToolsGauges = "Gauge A, Gauge B",
|
|
WorkInstructions = "Step 1: Do this. Step 2: Do that."
|
|
}
|
|
],
|
|
MisNonMatchResults =
|
|
[
|
|
new MisNonMatchSearchResult
|
|
{
|
|
WorkCenterCode = "WC01",
|
|
WorkOrderNumber = 12345,
|
|
WorkOrderStartDate = new DateTime(2024, 1, 8),
|
|
JobStepNumber = 10,
|
|
JobStepDescription = "Test operation",
|
|
JobStepEndDate = new DateTime(2024, 1, 10),
|
|
FunctionCode = "FC01",
|
|
WasJobStepAdded = false,
|
|
MatchedJobStepNumber = 10,
|
|
ItemNumber = "ITEM-001",
|
|
ItemDescription = "Test Item Description",
|
|
RoutingType = "M"
|
|
}
|
|
]
|
|
};
|
|
}
|