66 lines
1.9 KiB
C#
66 lines
1.9 KiB
C#
using Bootstrap.Security;
|
|
using System.Linq;
|
|
using Xunit;
|
|
|
|
namespace Bootstrap.DataAccess.SqlServer
|
|
{
|
|
[Collection("SQLServerContext")]
|
|
public class MenusTest
|
|
{
|
|
[Fact]
|
|
public void Save_Ok()
|
|
{
|
|
var poco = new BootstrapMenu()
|
|
{
|
|
Name = "UnitTest",
|
|
Application = "0",
|
|
Category = "0",
|
|
Icon = "fa fa-fa",
|
|
IsResource = 0,
|
|
Target = "_blank",
|
|
Order = 10,
|
|
Url = "#",
|
|
ParentId = "0",
|
|
ParentName = "Test"
|
|
};
|
|
|
|
// insert
|
|
Assert.True(MenuHelper.Save(poco));
|
|
|
|
// update
|
|
poco = MenuHelper.RetrieveAllMenus("Admin").Where(m => m.Id == poco.Id).FirstOrDefault();
|
|
Assert.True(MenuHelper.Save(poco));
|
|
|
|
// clean
|
|
MenuHelper.Delete(new string[] { poco.Id });
|
|
}
|
|
|
|
[Fact]
|
|
public void RetrieveMenusByRoleId_Ok()
|
|
{
|
|
var roleId = RoleHelper.Retrieves().FirstOrDefault(r => r.RoleName == "Administrators").Id;
|
|
Assert.NotNull(MenuHelper.RetrieveMenusByRoleId(roleId));
|
|
}
|
|
|
|
[Fact]
|
|
public void RetrieveAllMenus_Ok()
|
|
{
|
|
Assert.NotEmpty(MenuHelper.RetrieveAllMenus("Admin"));
|
|
}
|
|
|
|
[Fact]
|
|
public void SaveMenusByRoleId_Ok()
|
|
{
|
|
var roleId = RoleHelper.Retrieves().FirstOrDefault(r => r.RoleName == "Administrators").Id;
|
|
Assert.True(MenuHelper.SaveMenusByRoleId(roleId, MenuHelper.RetrieveAllMenus("Admin").Select(m => m.Id)));
|
|
}
|
|
|
|
[Fact]
|
|
public void AuthorizateButtons_Ok()
|
|
{
|
|
Assert.True(MenuHelper.AuthorizateButtons("admin", "~/Admin/Profiles", "saveTheme"));
|
|
Assert.False(MenuHelper.AuthorizateButtons("admin", "~/Admin/Profiles", "unitTest"));
|
|
}
|
|
}
|
|
}
|