Align .editorconfig files Move Controller logic to DMO classes GlobalVars.AppSettings = Models.AppSettings.GetFromConfigurationManager(); Question EditorConfig Project level editorconfig Format White Spaces AppSetting when EnvironmentVariable not set Corrective Actions Tests Schedule Actions Tests DMO Tests Controller Tests Get ready to use VSCode IDE
100 lines
4.9 KiB
C#
100 lines
4.9 KiB
C#
using Fab2ApprovalSystem.DMO;
|
|
using Fab2ApprovalSystem.Models;
|
|
|
|
using Microsoft.AspNetCore.Mvc.Testing;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace Fab2ApprovalTests.DMO;
|
|
|
|
[TestClass]
|
|
public class AuditDMOTests {
|
|
|
|
#pragma warning disable CS8618
|
|
|
|
private static ILogger? _Logger;
|
|
private static TestContext _TestContext;
|
|
private static WebApplicationFactory<Fab2ApprovalMKLink.Program> _WebApplicationFactory;
|
|
|
|
#pragma warning restore
|
|
|
|
public static void SetGlobalVars(ILogger? logger, AppSettings appSettings) {
|
|
logger?.LogDebug("Starting to set Fab2ApprovalSystem.Misc.GlobalVars");
|
|
Fab2ApprovalSystem.Misc.GlobalVars.AppSettings = appSettings;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.AttachmentUrl = appSettings.AttachmentUrl is null ? string.Empty : appSettings.AttachmentUrl;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.CA_BlankFormsLocation = appSettings.CABlankFormsLocation;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.DBConnection = appSettings.DBConnection;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.DB_CONNECTION_STRING = appSettings.DBConnectionString;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.hostURL = appSettings.HostURL;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.IS_INFINEON_DOMAIN = appSettings.IsInfineonDomain;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.MesaTemplateFiles = appSettings.MesaTemplateFiles;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.NDriveURL = appSettings.NDriveURL;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.SENDER_EMAIL = appSettings.SenderEmail;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.USER_ID = appSettings.UserId;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.USER_ISADMIN = appSettings.UserIsAdmin;
|
|
Fab2ApprovalSystem.Misc.GlobalVars.WSR_URL = appSettings.WSR_URL;
|
|
logger?.LogDebug("Finished setting Fab2ApprovalSystem.Misc.GlobalVars");
|
|
}
|
|
|
|
[ClassInitialize]
|
|
public static void ClassInitAsync(TestContext testContext) {
|
|
_TestContext = testContext;
|
|
_WebApplicationFactory = new WebApplicationFactory<Fab2ApprovalMKLink.Program>();
|
|
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
|
|
_Logger = serviceProvider.GetRequiredService<ILogger<Fab2ApprovalMKLink.Program>>();
|
|
}
|
|
|
|
private static void NonThrowTryCatch() {
|
|
try { throw new Exception(); } catch (Exception) { }
|
|
}
|
|
|
|
private static void AuditDMO(ILogger? logger, AppSettings appSettings) {
|
|
#pragma warning disable IDE0059
|
|
SetGlobalVars(logger, appSettings);
|
|
AuditDMO auditDMO = new(appSettings);
|
|
// void DeleteAuditReportAttachment(int attachmentID);
|
|
// void DeleteCAFindingsItem(int caFindingsID);
|
|
int[] ints = auditDMO.Get8DQA().ToArray();
|
|
AuditedArea[] auditedAreas = auditDMO.GetAuditAreaList().ToArray();
|
|
// IEnumerable<int> GetAuditFindingCategoryIdsByFindingId(int auditFindingsID);
|
|
// AuditFindings GetAuditFindingsByID(int auditFindingsID);
|
|
// IEnumerable<AuditFindings> GetAuditFindingsList(int auditNo);
|
|
// Audit GetAuditItem(int auditNo, int userID);
|
|
// Audit GetAuditItemReadOnly(int auditNo, int userID);
|
|
Auditor[] auditors = auditDMO.GetAuditorList().ToArray();
|
|
// IEnumerable<AuditReportAttachment> GetAuditReportAttachments(int auditNo);
|
|
// C_8DAuditedStandard[] c_8DAuditedStandards = auditDMO.GetAuditStandardList().ToArray();
|
|
AuditType[] auditTypes = auditDMO.GetAuditTypeList().ToArray();
|
|
// CAFindings GetCAFindingsItem(int caFindingsID);
|
|
// IEnumerable<AuditReportAttachment> GetCAFindingsItemAttachments(int caFindingsID);
|
|
// IEnumerable<CAFindings> GetCAFindingsList(int auditNo);
|
|
CANoList[] cANoLists = auditDMO.GetCorrectiveActionNoList().ToArray();
|
|
// int GetOpenCACountByAuditNo(int auditNo);
|
|
CAUserList[] cAUserLists = auditDMO.GetUserList().ToArray();
|
|
// Audit InsertAudit(Audit audit);
|
|
// void InsertAuditReportAttachment(AuditReportAttachment attach);
|
|
// void InsertCAFindings(CAFindings model);
|
|
// int IsCAAssignedToAudit(int CANo, int auditNo);
|
|
// void ReleaseLockOnDocument(int userID, int issueID);
|
|
// void UpdateAudit(Audit audit, int userID);
|
|
// void UpdateCAFindings(CAFindings model);
|
|
if (auditDMO is null) { }
|
|
#pragma warning restore IDE0059
|
|
}
|
|
|
|
#if Release
|
|
[Ignore]
|
|
#endif
|
|
[TestMethod]
|
|
public void AuditDMOIsAttachedOnly() {
|
|
_Logger?.LogInformation("Starting Web Application");
|
|
IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider;
|
|
AppSettings? appSettings = serviceProvider?.GetRequiredService<AppSettings>();
|
|
Assert.IsTrue(appSettings is not null);
|
|
if (System.Diagnostics.Debugger.IsAttached)
|
|
AuditDMO(_Logger, appSettings);
|
|
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
|
NonThrowTryCatch();
|
|
}
|
|
|
|
} |