using System; 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 LotTravelerDMOTests { #pragma warning disable CS8618 private static ILogger? _Logger; private static TestContext _TestContext; private static WebApplicationFactory _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(); IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider; _Logger = serviceProvider.GetRequiredService>(); } private static void NonThrowTryCatch() { try { throw new Exception(); } catch (Exception) { } } private static void LotTravelerDMO(ILogger? logger, AppSettings appSettings) { #pragma warning disable IDE0059 SetGlobalVars(logger, appSettings); LotTravelerDMO lotTravelerDMO = new(); // int CanAddLocationOperation(LTLotTravelerHoldSteps model); // int CreateLotTravelerRevision(LTLotTravelerHoldSteps model, appSettings.UserId); // void CreateTraveler(int ltLotID, int workRequestID, appSettings.UserId); // int CreateWorkRequestRevision(LTWorkRequest data, appSettings.UserId); // void DeleteLot(int ltLotID); // IEnumerable GetLotList(int workRequestID); // IEnumerable GetLotListBasedOnSWRNumber(int swrNumber); // IEnumerable GetLotsWithTraveler(int workRequestID); // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForReadOnly(int ltLotID, int revisionNumber); // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForUpdate(int ltLotID, appSettings.UserId); // IEnumerable GetLotTravelerHolStepsByRevision(int ltLotID, int revisionNumber); // IEnumerable GetLotTravelerRevisionHistory(int lotID); // IEnumerable GetLotTravHoldSteps(int ltLotID); // IEnumerable GetLotTravHoldStepsCompleted(int ltLotID); // IEnumerable GetLotTravHoldStepsPending(int ltLotID); // LotTravelerPdf GetLotTravlerPdf(int ltLotID, int revisionNumber); // List GetLotTravRevisions(int ltLotID); // List GetRejectionOrginatorEmailList(int workRequestID); // IEnumerable GetWorkReqApprovalLogHistory(int swrNumber); // IEnumerable GetWorkReqRevisionHistory(int swrNumber); // List GetWorkReqRevisions(int swrNumber); // void InsertLot(LTLot lot); // int InsertLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); // void ReassignOriginator(int workRequestID, int newOriginatorID, string comments, appSettings.UserId); // void ReleaseLockOnDocument(appSettings.UserId, int workRequestID); // void ReleaseLockOnLotTravelerUpdateDoc(appSettings.UserId, int ltLotID); // void RestoreLotTravToPrevRevision(int prevLotTravRevID, int newLotTravRevID); // int SubmitDocument(int workRequestID, appSettings.UserId, int documentType, out int allowedITAR); // int UpdateLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); // void UpdateLotTravlerExecution(int lotTravHoldStepID, string taskComments, bool CompletedFlag, appSettings.UserId); // int UpdateRevisedLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); if (lotTravelerDMO is null) { } #pragma warning restore IDE0059 } #if Release [Ignore] #endif [TestMethod] public void LotTravelerDMOIsAttachedOnly() { _Logger?.LogInformation("Starting Web Application"); IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider; AppSettings? appSettings = serviceProvider?.GetRequiredService(); Assert.IsTrue(appSettings is not null); if (System.Diagnostics.Debugger.IsAttached) LotTravelerDMO(_Logger, appSettings); _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); NonThrowTryCatch(); } }