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
108 lines
5.4 KiB
C#
108 lines
5.4 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 TrainingDMOTests {
|
|
|
|
#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 TrainingDMO(ILogger? logger, AppSettings appSettings) {
|
|
#pragma warning disable IDE0059
|
|
SetGlobalVars(logger, appSettings);
|
|
TrainingDMO trainingDMO = new();
|
|
// void AcknowledgeDocument(int trainingDocAckID);
|
|
// void AddTrainingGroupToECN(int ECNNumber, int groupId);
|
|
// bool CheckTrainingAssignmentStatus(int trainingAssignmentID);
|
|
// bool CheckTrainingStatus(int trainingAssignmentID);
|
|
// bool CheckValidDocAck(int docAckId);
|
|
// int Create(int issueId);
|
|
// int CreateAssignment(int trainingId, int userId);
|
|
// void DeleteAssignmentByUserId(int userId);
|
|
// void DeleteTraining(int trainingId);
|
|
// void DeleteTrainingAssignment(int trainingAssignmentId);
|
|
// void DeleteTrainingDocAck(int trainingAssignmentId);
|
|
// Training[] trainings = trainingDMO.GetAllOpenTrainings().ToArray();
|
|
// List<TrainingAssignment> GetAllTrainingAssignments(int TrainingID);
|
|
// Training[] trainingsB = trainingDMO.GetAllTrainings().ToArray();
|
|
// List<TrainingDocAck> GetAssignedDocs(int trainingAssignmentId);
|
|
// TrainingAssignment GetAssignment(int assignmentId);
|
|
// List<int> GetECNAssignedTrainingGroups(int ECNNumber);
|
|
// List<TrainingAssignment> GetOpenAssignmentsByTrainingID(int trainingID);
|
|
// List<int> GetTrainees(int groupId);
|
|
// Training GetTraining(int trainingId);
|
|
// List<TrainingAssignment> GetTrainingAssignments(int TrainingID);
|
|
// List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, int userID);
|
|
// List<TrainingAssignment> GetTrainingAssignmentsByUserID(int userID);
|
|
// TrainingGroup GetTrainingGroupByID(int groupId);
|
|
// TrainingGroup[] trainingGroups = trainingDMO.GetTrainingGroups().ToArray();
|
|
// int GetTrainingId(int issueId);
|
|
// int GetTrainingIdByAssignment(int trainingAssignmentID);
|
|
// Training[] trainingsC = trainingDMO.GetTrainings().ToArray();
|
|
// bool IsUserAssigned(int userId, int trainingId);
|
|
// bool isUserTrainingMember(int groupId, int userId);
|
|
// void reOpenTraining(int trainingId);
|
|
// void SetTrainingFlag(int ECNNumber);
|
|
// void UpdateAssignmentStatus(int trainingAssignmentID);
|
|
// void UpdateTrainingStatus(int trainingId);
|
|
if (trainingDMO is null) { }
|
|
#pragma warning restore IDE0059
|
|
}
|
|
|
|
#if Release
|
|
[Ignore]
|
|
#endif
|
|
[TestMethod]
|
|
public void TrainingDMOIsAttachedOnly() {
|
|
_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)
|
|
TrainingDMO(_Logger, appSettings);
|
|
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
|
NonThrowTryCatch();
|
|
}
|
|
|
|
} |