Tasks 184281, 184799, 184800, 184801 and 184802
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
This commit is contained in:
93
Fab2ApprovalTests/DMO/AdminDMOTests.cs
Normal file
93
Fab2ApprovalTests/DMO/AdminDMOTests.cs
Normal file
@ -0,0 +1,93 @@
|
||||
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 AdminDMOTests {
|
||||
|
||||
#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 AdminDMO(ILogger? logger, AppSettings appSettings) {
|
||||
#pragma warning disable IDE0059
|
||||
SetGlobalVars(logger, appSettings);
|
||||
AdminDMO adminDMO = new();
|
||||
// void AddNewTrainingGroup(string groupName);
|
||||
// void AddUserRoles(int subRole, string userids);
|
||||
// void AddUserToGroup(int userId, int groupId);
|
||||
// void DeleteFromGroup(int userId, int groupId);
|
||||
// void DeleteTrainingGroup(int groupID);
|
||||
// adminDMO.DeleteUserFromAllTrainingGroups(appSettings.UserId);
|
||||
// void DeleteUserRoles(int subRole, string userids);
|
||||
// IEnumerable<LoginModel> GetAllUsersBySubRole(int subRole);
|
||||
Role[] roles = adminDMO.GetSubRoles().ToArray();
|
||||
ParentChildModel[] newRoles = adminDMO.GetAllSubRoles().ToArray();
|
||||
// TECNNotificationsUser[] tECNNotificationsUsers = adminDMO.GetTECNNotificationUsers().ToArray();
|
||||
// List<TrainingGroupMember> GetTrainingGroupMembers(int GroupID);
|
||||
// TrainingGroup[] trainingGroups = adminDMO.GetTrainingGroups().ToArray();
|
||||
TrainingReportUser[] trainingReportUsers = adminDMO.GetTrainingReportUsers().ToArray();
|
||||
UserSubRoles[] userSubRoless = adminDMO.GetUserSubRoles(appSettings.UserId).ToArray();
|
||||
// adminDMO.TECNExpirationAddUser(appSettings.UserId);
|
||||
// adminDMO.TECNExpirationDeleteUser(appSettings.UserId);
|
||||
// adminDMO.TrainingReportAddUser(appSettings.UserId);
|
||||
// adminDMO.TrainingReportDeleteUser(appSettings.UserId);
|
||||
if (adminDMO is null) { }
|
||||
#pragma warning restore IDE0059
|
||||
}
|
||||
|
||||
#if Release
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
public void AdminDMOIsAttachedOnly() {
|
||||
_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)
|
||||
AdminDMO(_Logger, appSettings);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user