Skip to content

Commit 9dfab0e

Browse files
Remove Localizer from System Roles (OrchardCMS#17388)
Co-authored-by: Hisham Bin Ateya <hishamco_2007@yahoo.com>
1 parent e0842a9 commit 9dfab0e

File tree

3 files changed

+42
-51
lines changed

3 files changed

+42
-51
lines changed

src/OrchardCore/OrchardCore.Roles.Core/DefaultSystemRoleProvider.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Collections.Frozen;
2-
using Microsoft.Extensions.Localization;
32
using Microsoft.Extensions.Options;
43
using OrchardCore.Environment.Shell;
54
using OrchardCore.Security;
@@ -13,8 +12,7 @@ public sealed class DefaultSystemRoleProvider : ISystemRoleProvider
1312

1413
public DefaultSystemRoleProvider(
1514
ShellSettings shellSettings,
16-
IOptions<SystemRoleOptions> options,
17-
IStringLocalizer<DefaultSystemRoleProvider> S)
15+
IOptions<SystemRoleOptions> options)
1816
{
1917
var adminRoleName = shellSettings["AdminRoleName"];
2018
if (string.IsNullOrWhiteSpace(adminRoleName))
@@ -30,7 +28,7 @@ public DefaultSystemRoleProvider(
3028
_adminRole = new Role
3129
{
3230
RoleName = adminRoleName,
33-
RoleDescription = S["A system role that grants all permissions to the assigned users."]
31+
RoleDescription = "A system role that grants all permissions to the assigned users.",
3432
};
3533

3634
_systemRoles = new Dictionary<string, Role>()
@@ -40,14 +38,14 @@ public DefaultSystemRoleProvider(
4038
OrchardCoreConstants.Roles.Authenticated, new Role
4139
{
4240
RoleName = OrchardCoreConstants.Roles.Authenticated,
43-
RoleDescription = S["A system role representing all authenticated users."]
41+
RoleDescription = "A system role representing all authenticated users.",
4442
}
4543
},
4644
{
4745
OrchardCoreConstants.Roles.Anonymous, new Role
4846
{
4947
RoleName = OrchardCoreConstants.Roles.Anonymous,
50-
RoleDescription = S["A system role representing all non-authenticated users."]
48+
RoleDescription = "A system role representing all non-authenticated users.",
5149
}
5250
}
5351
}.ToFrozenDictionary(StringComparer.OrdinalIgnoreCase);

test/OrchardCore.Tests/Roles/DefaultSystemRoleProviderTests.cs

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@ namespace OrchardCore.Roles.Tests;
55
public class DefaultSystemRoleProviderTests
66
{
77
[Fact]
8-
public void GetSystemRoles_Have_Administrator_Authenticated_Anonymous()
8+
public void GetSystemRoles_WhenCalledByDefault_ContainsAdministratorAuthenticatedAndAnonymousRoles()
99
{
1010
// Arrange
11-
var stringLocalizer = Mock.Of<IStringLocalizer<DefaultSystemRoleProvider>>();
1211
var shellSettings = new ShellSettings();
1312
var options = new Mock<IOptions<SystemRoleOptions>>();
1413
options.Setup(o => o.Value)
1514
.Returns(new SystemRoleOptions());
1615

17-
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object, stringLocalizer);
16+
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object);
1817

1918
// Act
2019
var roles = provider.GetSystemRoles();
@@ -27,10 +26,9 @@ public void GetSystemRoles_Have_Administrator_Authenticated_Anonymous()
2726
}
2827

2928
[Fact]
30-
public void GetAdminRole_FromConfiguredAdminRole()
29+
public void GetAdminRole_FromOptions_ReturnAdminRoleName()
3130
{
3231
// Arrange
33-
var stringLocalizer = Mock.Of<IStringLocalizer<DefaultSystemRoleProvider>>();
3432
var shellSettings = new ShellSettings();
3533
var configureSystemAdminRoleName = "SystemAdmin";
3634
var options = new Mock<IOptions<SystemRoleOptions>>();
@@ -40,7 +38,7 @@ public void GetAdminRole_FromConfiguredAdminRole()
4038
SystemAdminRoleName = configureSystemAdminRoleName,
4139
});
4240

43-
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object, stringLocalizer);
41+
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object);
4442

4543
// Act
4644
var role = provider.GetAdminRole();
@@ -51,19 +49,18 @@ public void GetAdminRole_FromConfiguredAdminRole()
5149
}
5250

5351
[Fact]
54-
public void GetAdminRole_FromAppSettings()
52+
public void GetAdminRole_FromTheTenantSettings_ReturnsAdminRoleName()
5553
{
5654
// Arrange
5755
var adminRoleName = "Foo";
58-
var stringLocalizer = Mock.Of<IStringLocalizer<DefaultSystemRoleProvider>>();
5956
var shellSettings = new ShellSettings();
6057
shellSettings["AdminRoleName"] = adminRoleName;
6158

6259
var options = new Mock<IOptions<SystemRoleOptions>>();
6360
options.Setup(o => o.Value)
6461
.Returns(new SystemRoleOptions());
6562

66-
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object, stringLocalizer);
63+
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object);
6764

6865
// Act
6966
var role = provider.GetAdminRole();
@@ -84,20 +81,48 @@ public void GetAdminRole_FromAppSettings()
8481
[InlineData("TEST", false)]
8582
[InlineData("TesT", false)]
8683
[InlineData("test", false)]
87-
public void IsSystemRole_ReturnsTrue_IfTheRoleExists(string roleName, bool expectedResult)
84+
public void IsSystemRole_IfTheRoleExists_ReturnsTrue(string roleName, bool expectedResult)
8885
{
8986
// Arrange
90-
var stringLocalizer = Mock.Of<IStringLocalizer<DefaultSystemRoleProvider>>();
9187
var shellSettings = new ShellSettings();
9288

9389
var options = new Mock<IOptions<SystemRoleOptions>>();
9490
options.Setup(o => o.Value)
9591
.Returns(new SystemRoleOptions());
9692

93+
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object);
94+
95+
// Act
96+
var result = provider.IsSystemRole(roleName);
97+
98+
// Assert
99+
Assert.Equal(expectedResult, result);
100+
}
101+
102+
[Theory]
103+
[InlineData("Administrator", true)]
104+
[InlineData("ADMINISTRATOR", true)]
105+
[InlineData("administrator", true)]
106+
[InlineData("AdminiSTratoR", true)]
107+
[InlineData("Test", false)]
108+
[InlineData("TEST", false)]
109+
[InlineData("TesT", false)]
110+
[InlineData("test", false)]
111+
public void IsAdminRole_WhenCalled_ReturnsAdministrator(string roleName, bool expectedResult)
112+
{
113+
// Arrange
114+
var shellSettings = new ShellSettings();
115+
116+
var options = new Mock<IOptions<SystemRoleOptions>>();
117+
options.Setup(o => o.Value)
118+
.Returns(new SystemRoleOptions());
119+
120+
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object);
121+
97122
// Act
98-
var provider = new DefaultSystemRoleProvider(shellSettings, options.Object, stringLocalizer);
123+
var result = provider.IsAdminRole(roleName);
99124

100125
// Assert
101-
Assert.Equal(expectedResult, provider.IsSystemRole(roleName));
126+
Assert.Equal(expectedResult, result);
102127
}
103128
}

test/OrchardCore.Tests/Roles/Extensions/SystemRoleProviderExtensionsTests.cs

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)