Migrate BusinessMgr tests to NUnit
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using Microsoft.ApplicationInsights.Extensibility.Implementation;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using NUnit.Framework;
|
||||
using Newtonsoft.Json;
|
||||
using Sarand.BusinessMgr.Net.Core.Web.Components;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
@@ -17,77 +16,78 @@ using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
{
|
||||
//=======================================================================
|
||||
[TestClass]
|
||||
[TestFixture]
|
||||
public class SbmApplication_SessionData_Tester : SbmApplication_Tester_Base
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
|
||||
// --- Construction ---
|
||||
|
||||
public SbmApplication_SessionData_Tester()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
// --- Tests ---
|
||||
|
||||
[Test]
|
||||
public void Test_Application_SessionData_Serialization()
|
||||
{
|
||||
using (DisposableCollection<ISacsDisposable> disposables = new DisposableCollection<ISacsDisposable>())
|
||||
{
|
||||
// Internals.
|
||||
SbmcAccountMgr accountMgr = Internals_Control.ControlAccountMgr;
|
||||
Assert.IsNotNull(accountMgr);
|
||||
Assert.That(accountMgr, Is.Not.Null);
|
||||
|
||||
// User account.
|
||||
SbmcUserAccount userAccount = accountMgr.GetUserAccountByEmailAddress("andy@sarand.com");
|
||||
Assert.IsNotNull(userAccount);
|
||||
Assert.That(userAccount, Is.Not.Null);
|
||||
|
||||
// Session Context?
|
||||
SbmSessionContext? sessionContext_Core = null;
|
||||
|
||||
// Populate User Session.
|
||||
SbmSessionData_Control sessionData = new SbmSessionData_Control(sessionContext_Core, userAccount);
|
||||
Assert.IsNotNull(sessionData);
|
||||
Assert.IsTrue(!StringUtil.IsBlank(sessionData.Base64IV_ControlApp));
|
||||
Assert.IsTrue(sessionData.SessionIdx >= 100000);
|
||||
Assert.IsTrue(sessionData.DataIdx >= 1000000);
|
||||
Assert.That(sessionData, Is.Not.Null);
|
||||
Assert.That(!StringUtil.IsBlank(sessionData.Base64IV_ControlApp), Is.True);
|
||||
Assert.That(sessionData.SessionIdx >= 100000, Is.True);
|
||||
Assert.That(sessionData.DataIdx >= 1000000, Is.True);
|
||||
|
||||
// Validate user session.
|
||||
Assert.IsNotNull(sessionData.User);
|
||||
Assert.That(sessionData.User, Is.Not.Null);
|
||||
|
||||
// User details.
|
||||
Assert.AreEqual(userAccount.Id, sessionData.User.UserAccountId);
|
||||
Assert.AreEqual(userAccount.EmailAddress, sessionData.User.EmailAddress);
|
||||
Assert.AreEqual(userAccount.FirstName, sessionData.User.FirstName);
|
||||
Assert.AreEqual(userAccount.LastName, sessionData.User.LastName);
|
||||
Assert.AreEqual(userAccount.GetDisplayName(), sessionData.User.DisplayName);
|
||||
Assert.That(sessionData.User.UserAccountId, Is.EqualTo(userAccount.Id));
|
||||
Assert.That(sessionData.User.EmailAddress, Is.EqualTo(userAccount.EmailAddress));
|
||||
Assert.That(sessionData.User.FirstName, Is.EqualTo(userAccount.FirstName));
|
||||
Assert.That(sessionData.User.LastName, Is.EqualTo(userAccount.LastName));
|
||||
Assert.That(sessionData.User.DisplayName, Is.EqualTo(userAccount.GetDisplayName()));
|
||||
|
||||
|
||||
// Serialise data.
|
||||
string sessionDataJson = JsonConvert.SerializeObject(sessionData, SbmController_Web.SessionDataJsonSerializerSettings);
|
||||
Assert.IsNotNull(sessionDataJson);
|
||||
Assert.That(sessionDataJson, Is.Not.Null);
|
||||
|
||||
// Deserialise data.
|
||||
SbmSessionData_Control? sessionDataDeserialized = JsonConvert.DeserializeObject<SbmSessionData_Control>(sessionDataJson, SbmController_Web.SessionDataJsonDeserializerSettings);
|
||||
Assert.IsNotNull(sessionDataDeserialized);
|
||||
Assert.That(sessionDataDeserialized, Is.Not.Null);
|
||||
|
||||
// Validate deserialised data.
|
||||
Assert.IsTrue(!StringUtil.IsBlank(sessionDataDeserialized.Base64IV_ControlApp));
|
||||
Assert.AreEqual(sessionData.Base64IV_ControlApp, sessionDataDeserialized.Base64IV_ControlApp);
|
||||
Assert.AreEqual(sessionData.SessionIdx, sessionDataDeserialized.SessionIdx);
|
||||
Assert.IsTrue(sessionDataDeserialized.DataIdx > sessionData.DataIdx);
|
||||
Assert.That(!StringUtil.IsBlank(sessionDataDeserialized.Base64IV_ControlApp), Is.True);
|
||||
Assert.That(sessionDataDeserialized.Base64IV_ControlApp, Is.EqualTo(sessionData.Base64IV_ControlApp));
|
||||
Assert.That(sessionDataDeserialized.SessionIdx, Is.EqualTo(sessionData.SessionIdx));
|
||||
Assert.That(sessionDataDeserialized.DataIdx > sessionData.DataIdx, Is.True);
|
||||
|
||||
// User details.
|
||||
Assert.IsNotNull(sessionDataDeserialized.User);
|
||||
Assert.AreEqual(userAccount.Id, sessionDataDeserialized.User.UserAccountId);
|
||||
Assert.AreEqual(userAccount.EmailAddress, sessionDataDeserialized.User.EmailAddress);
|
||||
Assert.AreEqual(userAccount.FirstName, sessionDataDeserialized.User.FirstName);
|
||||
Assert.AreEqual(userAccount.LastName, sessionDataDeserialized.User.LastName);
|
||||
Assert.AreEqual(userAccount.GetDisplayName(), sessionDataDeserialized.User.DisplayName);
|
||||
Assert.That(sessionDataDeserialized.User, Is.Not.Null);
|
||||
Assert.That(sessionDataDeserialized.User.UserAccountId, Is.EqualTo(userAccount.Id));
|
||||
Assert.That(sessionDataDeserialized.User.EmailAddress, Is.EqualTo(userAccount.EmailAddress));
|
||||
Assert.That(sessionDataDeserialized.User.FirstName, Is.EqualTo(userAccount.FirstName));
|
||||
Assert.That(sessionDataDeserialized.User.LastName, Is.EqualTo(userAccount.LastName));
|
||||
Assert.That(sessionDataDeserialized.User.DisplayName, Is.EqualTo(userAccount.GetDisplayName()));
|
||||
}
|
||||
}
|
||||
|
||||
// --- The End ---
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus.Control;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Consoles;
|
||||
using Sarand.BusinessMgr.Web.Control.Consoles;
|
||||
@@ -8,74 +8,72 @@ using Sarand.Net.Standard.Base.Security;
|
||||
|
||||
namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
{
|
||||
//=======================================================================
|
||||
[TestClass]
|
||||
[TestFixture]
|
||||
public class SbmApplication_Tester : SbmApplication_Tester_Base
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
// --- Tests ---
|
||||
|
||||
[Test]
|
||||
public void Test_Application_Application()
|
||||
{
|
||||
// Application.
|
||||
Assert.IsNotNull(App);
|
||||
Assert.IsNotNull(App_Web);
|
||||
Assert.IsNotNull(App_Control);
|
||||
Assert.That(App, Is.Not.Null);
|
||||
Assert.That(App_Web, Is.Not.Null);
|
||||
Assert.That(App_Control, Is.Not.Null);
|
||||
Assert.That(SessionData_Control, Is.Not.Null);
|
||||
Assert.That(SessionData_Control.User, Is.Not.Null);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
[Test]
|
||||
public void Test_Application_ControlDatabase()
|
||||
{
|
||||
// Control database.
|
||||
ISacsDatabase db = App.GetControlDatabase();
|
||||
Assert.IsNotNull(db);
|
||||
Assert.That(db, Is.Not.Null);
|
||||
|
||||
// Tables.
|
||||
Assert.IsTrue(db.TableExists(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.Owner)));
|
||||
Assert.IsTrue(db.TableExists(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.Repository)));
|
||||
Assert.That(db.TableExists(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.Owner)), Is.True);
|
||||
Assert.That(db.TableExists(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.Repository)), Is.True);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
[Test]
|
||||
public void Test_Application_TemplateDatabase()
|
||||
{
|
||||
// Template database.
|
||||
ISacsDatabase db = App.GetTemplateDatabase();
|
||||
Assert.IsNotNull(db);
|
||||
Assert.That(db, Is.Not.Null);
|
||||
|
||||
// Tables.
|
||||
Assert.IsTrue(db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate)));
|
||||
Assert.IsTrue(db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Commodity)));
|
||||
Assert.IsTrue(db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction, false)));
|
||||
Assert.IsTrue(db.TableExists(SaSecurityDbDfn.GetTableName(SaSecurityDbDfn.TableIdx.SaSecItem)));
|
||||
Assert.That(db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate)), Is.True);
|
||||
Assert.That(db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Commodity)), Is.True);
|
||||
Assert.That(db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction, false)), Is.True);
|
||||
Assert.That(db.TableExists(SaSecurityDbDfn.GetTableName(SaSecurityDbDfn.TableIdx.SaSecItem)), Is.True);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
[Test]
|
||||
public void Test_Application_Internals_Control()
|
||||
{
|
||||
// Record disposable items as they are created so all can be disposed when needed.
|
||||
using (DisposableCollection<ISacsDisposable> disposables = new DisposableCollection<ISacsDisposable>())
|
||||
{
|
||||
// Control internals.
|
||||
Assert.IsNotNull(Internals_Control);
|
||||
Assert.That(Internals_Control, Is.Not.Null);
|
||||
|
||||
// Owners.
|
||||
Assert.IsNotNull(Internals_Control.ControlInstanceMgr);
|
||||
Assert.That(Internals_Control.ControlInstanceMgr, Is.Not.Null);
|
||||
SbmcOwner.Params prmOwner = new SbmcOwner.Params();
|
||||
prmOwner.StatusCat = SbmcOwner.StatusCat.ActiveOnly;
|
||||
Assert.IsTrue(Internals_Control.ControlInstanceMgr.GetOwnerCount(prmOwner) > 0);
|
||||
Assert.That(Internals_Control.ControlInstanceMgr.GetOwnerCount(prmOwner) > 0, Is.True);
|
||||
|
||||
// Repositories.
|
||||
Assert.IsNotNull(Internals_Control.ControlInstanceMgr);
|
||||
Assert.That(Internals_Control.ControlInstanceMgr, Is.Not.Null);
|
||||
SbmcRepository.Params prmRepository = new SbmcRepository.Params();
|
||||
prmRepository.StatusCat = SbmcRepository.StatusCat.ActiveOnly;
|
||||
Assert.IsTrue(Internals_Control.ControlInstanceMgr.GetRepositoryCount(prmRepository) > 0);
|
||||
Assert.That(Internals_Control.ControlInstanceMgr.GetRepositoryCount(prmRepository) > 0, Is.True);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
[Test]
|
||||
public void Test_Application_CoreInstanceConsole()
|
||||
{
|
||||
// Record disposable items as they are created so all can be disposed when needed.
|
||||
@@ -83,17 +81,16 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
{
|
||||
// Repository.
|
||||
SbmcRepository repository = GetRandomActiveRepository();
|
||||
Assert.IsNotNull(repository);
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
|
||||
// Instance console.
|
||||
SbmCoreInstanceConsole instanceConsole = new SbmCoreInstanceConsole_Control(SessionData_Control, repository);
|
||||
disposables.Add(instanceConsole);
|
||||
Assert.IsNotNull(instanceConsole);
|
||||
Assert.That(instanceConsole, Is.Not.Null);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
[Test]
|
||||
public void Test_Application_Internals_Core()
|
||||
{
|
||||
// Record disposable items as they are created so all can be disposed when needed.
|
||||
@@ -101,17 +98,16 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
{
|
||||
// Repository.
|
||||
SbmcRepository repository = GetRandomActiveRepository();
|
||||
Assert.IsNotNull(repository);
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
|
||||
// Instance console.
|
||||
SbmCoreInstanceConsole instanceConsole = new SbmCoreInstanceConsole_Control(SessionData_Control, repository);
|
||||
disposables.Add(instanceConsole);
|
||||
Assert.IsNotNull(instanceConsole);
|
||||
Assert.That(instanceConsole, Is.Not.Null);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[TestMethod]
|
||||
[Test]
|
||||
public void Test_Application_SessionContexts()
|
||||
{
|
||||
// Record disposable items as they are created so all can be disposed when needed.
|
||||
@@ -119,21 +115,20 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
{
|
||||
// Repository.
|
||||
SbmcRepository repository = GetRandomActiveRepository();
|
||||
Assert.IsNotNull(repository);
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
|
||||
SbmCoreInstanceConsole instanceConsole = new SbmCoreInstanceConsole_Control(SessionData_Control, repository);
|
||||
disposables.Add(instanceConsole);
|
||||
Assert.IsNotNull(instanceConsole);
|
||||
Assert.That(instanceConsole, Is.Not.Null);
|
||||
|
||||
// Session Context.
|
||||
ushort sessionIdx = App_Control.GetCoreSessionIndexForControlRepository(repository.Id);
|
||||
SbmSessionContext sessionContext = App_Control.GetSessionContextByIndex(sessionIdx);
|
||||
Assert.IsNotNull(sessionContext);
|
||||
Assert.AreEqual(sessionIdx, sessionContext.Index);
|
||||
Assert.That(sessionContext, Is.Not.Null);
|
||||
Assert.That(sessionContext.Index, Is.EqualTo(sessionIdx));
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// --- The End ---
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using DocumentFormat.OpenXml.EMMA;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
@@ -17,11 +16,10 @@ using System;
|
||||
|
||||
namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
{
|
||||
//=======================================================================
|
||||
public class SbmApplication_Tester_Base : SacsDisposable
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Application.
|
||||
// --- Definitions ---
|
||||
|
||||
private class SbmApplication_Control_Test : SbmApplication_Control
|
||||
{
|
||||
public SbmApplication_Control_Test(IConfiguration configuration, IWebHostEnvironment env) :
|
||||
@@ -31,11 +29,8 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
// --- Construction ---
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmApplication_Tester_Base()
|
||||
{
|
||||
// Application.
|
||||
@@ -46,8 +41,10 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
App_Control = new SbmApplication_Control_Test(mockConfiguration.Object, mockEnvironment.Object);
|
||||
Internals_Control = new SbmInternals_Control();
|
||||
|
||||
// Control session data.
|
||||
//SessionData_Control = new SbmSessionData_Control();
|
||||
// Control session data, matching the minimal session used by the serialization tests.
|
||||
SbmcAccountMgr accountMgr = Internals_Control.ControlAccountMgr;
|
||||
SbmcUserAccount userAccount = accountMgr.GetUserAccountByEmailAddress("andy@sarand.com");
|
||||
SessionData_Control = new SbmSessionData_Control(null, userAccount);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
@@ -58,27 +55,27 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// --- Properties ---
|
||||
|
||||
protected SbmApplication App { get { return App_Control; } }
|
||||
protected SbmApplication_Web App_Web { get { return App_Control; } }
|
||||
protected SbmApplication_Control App_Control { get; }
|
||||
protected SbmSessionData_Control SessionData_Control { get; private set; }
|
||||
protected SbmInternals_Control Internals_Control { get; private set; }
|
||||
|
||||
// Utilities.
|
||||
// --- Utilities ---
|
||||
|
||||
protected SbmInternals_Control CreateInternalsControl() { return new SbmInternals_Control(); }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Core Instance Console.
|
||||
// --- Core Instance Console ---
|
||||
|
||||
protected SbmCoreInstanceConsole_Control CreateCoreInstanceConsole(String repositoryContext)
|
||||
{
|
||||
SbmcRepository repository = Internals_Control.ControlInstanceMgr.GetRepositoryByContext(repositoryContext);
|
||||
return new SbmCoreInstanceConsole_Control(SessionData_Control, repository);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Repositories.
|
||||
// --- Repositories ---
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve an active repository, randomly selected.
|
||||
@@ -106,7 +103,6 @@ namespace Sarand.BusinessMgr.Test.Web.Control.App
|
||||
return Internals_Control.ControlInstanceMgr.GetRepositoryList(prmRepository).First();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// --- The End ---
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user