Untitled
unknown
plain_text
a year ago
3.2 kB
11
Indexable
using System.Collections.Generic;
using System.IO;
using Clearcore2.SecurityManagement;
using Clearcore2.UI.Infrastructure.Events;
using Clearcore2.VerticalApplications.Security.ViewModels;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using NUnit.Framework;
using OFX.Core;
using OFX.Presentation.Dialogs;
using OFX.Security.RoleBasedRepository;
using OFX.Security.RoleBasedRepository.Commands;
using Assert = NUnit.Framework.Assert;
namespace Framework.UnitTests.Public.ClientAPI.Clearcore2.VerticalApplications.Security.ViewModel
{
[TestFixture]
[Category(TestCategories.GeneralB)]
public class RolePermissionCategoriesModelUnitTests : ImportExportDatabaseUnitTestsBase
{
[SetUp]
public void SetUp()
{
var mockDialog = new Mock<IMessageDialog>();
OFXApp.Locator.RegisterInstance(typeof(IMessageDialog), mockDialog.Object);
}
[Test]
public void RolesAndPermissionsAreUpdatedOnSecurityImportedEventTest()
{
var rolePermissionCategoriesModel = new RolePermissionCategoriesModel();
var privateRolePermissionModel = new PrivateObject(rolePermissionCategoriesModel);
OFXApp.SecurityContext.SecurityRepositories.RunCommand(new ImportDatabaseCommand(Path.GetFullPath(@"..\..\LargeFiles\TestData\SecurityDatabase\Valid.data"), false));
Assert.That(((List<RoleEntity>) privateRolePermissionModel.GetField("_allRoles")).Count, Is.EqualTo(0));
Assert.That(rolePermissionCategoriesModel.RolePermissionCategoryList.Count, Is.EqualTo(0));
OFXApp.EventBroker.GetEventChannel<SecurityDatabaseImportedEvent>(EventChannels.DefaultLocal).Publish(new SecurityDatabaseImportedEvent());
Assert.That(((List<RoleEntity>)privateRolePermissionModel.GetField("_allRoles")).Count, Is.EqualTo(4));
Assert.That(rolePermissionCategoriesModel.RolePermissionCategoryList.Count, Is.EqualTo(11));
}
private int counter = 0;
[Test]
public void RolesChangingEventIsTriggeredWhenSecurityDatabaseImportedEventIsTriggeredTest()
{
var rolePermissionCategoriesModel = new RolePermissionCategoriesModel();
try
{
counter = 0;
rolePermissionCategoriesModel.RolesChanging += RolePermissionCategoriesModel_RolesChanging;
OFXApp.EventBroker.GetEventChannel<SecurityDatabaseImportedEvent>(EventChannels.DefaultLocal).Publish(new SecurityDatabaseImportedEvent());
Assert.AreEqual(counter, 1);
OFXApp.EventBroker.GetEventChannel<SecurityDatabaseImportedEvent>(EventChannels.DefaultLocal).Publish(new SecurityDatabaseImportedEvent());
Assert.AreEqual(counter, 2);
}
finally
{
rolePermissionCategoriesModel.RolesChanging -= RolePermissionCategoriesModel_RolesChanging;
}
}
private void RolePermissionCategoriesModel_RolesChanging(object sender, System.EventArgs e)
{
counter++;
}
}
}
Editor is loading...
Leave a Comment