public void ApplyRule_WhenThereIsAOneRule_ShouldIsEnableAndIsVisibleCalledOnce() { // Arrange var restrictedPermission = new RestrictedPermission(this.permissionSettings, this.permissionRules); // Act restrictedPermission.ApplyRules(); // Assert this.mockPermission.Received(1).IsEnabled(this.permissionSettings); this.mockPermission.Received(1).IsVisible(this.permissionSettings); }
public void GetPermissionModel_WhenActionTypeIsRelatedPropertyStatusRule_ShouldPermissionHasPropertyStatusRule(ActionEnum action) { // Arrange this.permissionSettings.Action = action; // Act var permission = this.sut.GetPermission(this.permissionSettings); // Assert RestrictedPermission restrictedPermission = (RestrictedPermission)permission; Assert.That(restrictedPermission.Rules, Has.Some.TypeOf <PropertyStatusPermissionRule>(), $"{action.ToString()} action type doesnt have RoomStatusPermissionRule"); }
public void GetPermissionModel_WhenActionTypeIsRelatedWithPrivateProperty_ShouldHasPrivatePermissionRuleType(ActionEnum actionType) { // Arrange this.permissionSettings.Action = actionType; // Act var permission = this.sut.GetPermission(this.permissionSettings); // Assert RestrictedPermission restrictedPermission = (RestrictedPermission)permission; Assert.That(restrictedPermission.Rules, Has.Some.TypeOf <PrivatePermissionRule>(), $"{actionType.ToString()} action type doesnt have PermissionRuleModel"); }
public void GetPermissionModel_WhenActionTypeHasBiddingLockedPermissionRule_ShouldPermissionRuleHasBiddingLockedPermissionRule(ActionEnum action) { // Arrange this.permissionSettings.Action = action; // Act var permissionModel = this.sut.GetPermission(this.permissionSettings); // Assert RestrictedPermission restrictedPermission = (RestrictedPermission)permissionModel; Assert.That(restrictedPermission.Rules, Has.Some.TypeOf <BiddingLockedPermissionRule>(), $"{action.ToString()} action type doesnt have BiddingLockedPermissionRule"); }
public void ApplyRule_WhenThereIsAOneRuleReturnTrue_ShouldIsEnableAndIsVisibleEqualToRule() { // Arrange this.mockPermission.IsEnabled(this.permissionSettings).Returns(true); this.mockPermission.IsVisible(this.permissionSettings).Returns(true); var restrictedPermission = new RestrictedPermission(this.permissionSettings, this.permissionRules); // Act restrictedPermission.ApplyRules(); // Assert Assert.That(restrictedPermission.IsVisible, Is.EqualTo(true)); Assert.That(restrictedPermission.IsEnabled, Is.EqualTo(true)); }
public void ApplyRule_WhenThereAreTwoRulesAndTheFirstOneIsEnabledIsFalse_ShouldSecondRuleIsEnabledCalledNever() { // Arrange this.mockPermission.IsEnabled(this.permissionSettings).Returns(false); var secondMockedRule = Substitute.For <IPermissionRule>(); this.permissionRules.Add(secondMockedRule); var restrictedPermission = new RestrictedPermission(this.permissionSettings, this.permissionRules); // Act restrictedPermission.ApplyRules(); // Assert secondMockedRule.DidNotReceive().IsEnabled(this.permissionSettings); }