コード例 #1
0
 public Task ReturnsViewWithSaveErrorUnknown(
     bool hasLastUpdated,
     IModifyFeatureFlagsViewModel validModel,
     FeatureFlags flags)
 {
     return(ReturnsViewWithSaveErrorConflict(
                hasLastUpdated,
                validModel,
                (FeatureFlagSaveResult)99,
                "Unknown save result '99'."));
 }
コード例 #2
0
 public Task ReturnsViewWithSaveErrorConflict(
     bool hasLastUpdated,
     IModifyFeatureFlagsViewModel validModel,
     FeatureFlags flags)
 {
     return(ReturnsViewWithSaveErrorConflict(
                hasLastUpdated,
                validModel,
                FeatureFlagSaveResult.Conflict,
                "Your changes were not applied as the feature flags were modified by someone else. Please reload the page and try again."));
 }
コード例 #3
0
            public Task ReturnsViewWithModelErrorWithNoMessage(
                bool hasLastUpdated,
                IModifyFeatureFlagsViewModel model,
                FeatureFlags flags) // I have kept this parameter to reduce the need to make another data function without it.
            {
                var modelState = GetController <FeaturesController>().ModelState;

                modelState.AddModelError("key", string.Empty);

                return(AssertFailure(
                           hasLastUpdated,
                           model,
                           "The model submitted was invalid."));
            }
コード例 #4
0
            protected async Task AssertFailure(
                bool hasLastUpdated,
                IModifyFeatureFlagsViewModel model,
                string expectedMessage)
            {
                // Arrange
                SetupGetModel(hasLastUpdated);

                var controller = GetController <FeaturesController>();

                // Act
                var result = await InvokeAsync(controller, model);

                // Assert
                AssertRedirectToIndex(result);
                AssertErrorMessage(controller, expectedMessage);
            }
コード例 #5
0
            public async Task ReturnsViewWithChange(
                bool hasLastUpdated,
                IModifyFeatureFlagsViewModel model,
                FeatureFlags flags)
            {
                // Arrange
                SetupGetModel(hasLastUpdated);

                var controller = GetController <FeaturesController>();

                GetMock <IEditableFeatureFlagStorageService>()
                .Setup(x => x.TrySaveAsync(
                           It.Is <FeatureFlags>(f => DoFlagsMatch(flags, f)),
                           model.ContentId))
                .ReturnsAsync(FeatureFlagSaveResult.Ok);

                // Act
                var result = await InvokeAsync(controller, model);

                // Assert
                AssertRedirectToIndex(result);
                AssertSuccessMessage(controller);
            }
コード例 #6
0
            private async Task ReturnsViewWithSaveErrorConflict(
                bool hasLastUpdated,
                IModifyFeatureFlagsViewModel validModel,
                FeatureFlagSaveResult saveResult,
                string errorMessage)
            {
                // Arrange
                SetupGetModel(hasLastUpdated);

                var controller = GetController <FeaturesController>();

                GetMock <IEditableFeatureFlagStorageService>()
                .Setup(x => x.TrySaveAsync(
                           It.IsAny <FeatureFlags>(),
                           validModel.ContentId))
                .ReturnsAsync(saveResult);

                // Act
                var result = await InvokeAsync(controller, validModel);

                // Assert
                AssertRedirectToIndex(result);
                AssertErrorMessage(controller, errorMessage);
            }
コード例 #7
0
 protected string GetTryDeleteMissingErrorMessage(IModifyFeatureFlagsViewModel model) =>
 $"The {PrettyName} '{model.Name}' does not exist. You cannot delete a {PrettyName} that does not exist.";
コード例 #8
0
 protected string GetTryAddExistingErrorMessage(IModifyFeatureFlagsViewModel model) =>
 $"The {PrettyName} '{model.Name}' already exists. You cannot add a {PrettyName} that already exists.";
コード例 #9
0
 protected abstract Task <ActionResult> InvokeAsync(FeaturesController controller, IModifyFeatureFlagsViewModel model);
コード例 #10
0
 protected override Task <ActionResult> InvokeAsync(FeaturesController controller, IModifyFeatureFlagsViewModel model)
 {
     return(controller.DeleteFlight(model as ModifyFeatureFlagsFlightViewModel));
 }