public async Task ReturnRedirectToAccessDenied_WhenUnauthorized_UsingOverview() { await Task.Run(async() => { using (var controller = new MockedWorkoutController()) { // Act var iActionResult = await controller.UnAuthenticatedInstance.Overview(); var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""UrlHelper"": null, ""ActionName"": ""AccessDenied"", ""ControllerName"": ""Authorization"", ""RouteValues"": null, ""Permanent"": false, ""PreserveMethod"": false, ""Fragment"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }
public async Task ReturnCorrectRedirectToActionResult_UsingPatchWorkoutName() { await Task.Run(async() => { // Arrange using (var controller = new MockedWorkoutController()) { // Act var iActionResult = await controller.AuthenticatedInstance.PatchWorkoutName(1, new WorkoutOfmForPatch() { Id = 1, Name = "PatchedWorkoutName" }); // Assert var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""UrlHelper"": null, ""ActionName"": ""Overview"", ""ControllerName"": null, ""RouteValues"": null, ""Permanent"": false, ""PreserveMethod"": false, ""Fragment"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }
public async Task ReturnCorrectRedirectToActionResult_UsingDelete() { await Task.Run(async() => { // Arrange using (var controller = new MockedWorkoutController()) { // Act var iActionResult = await controller.AuthenticatedInstance.Delete(2); // Workout 2 is the most difficult one to delete, because it has previous ExerciseHistories for previous AND next workoutHistory // Assert var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""UrlHelper"": null, ""ActionName"": ""Overview"", ""ControllerName"": null, ""RouteValues"": null, ""Permanent"": false, ""PreserveMethod"": false, ""Fragment"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }
public async Task ReturnCorrectRedirectToActionResult_UsingSaveChangesForWeightLiftingSets() { await Task.Run(async() => { ////var ApiTestServerWithTestInMemoryDb = TestServers.GetApiTestServerInstanceWithTestInMemoryDb(); ////var ClientTestServer = TestServers.GetApiAuthenticatedClientTestServerInstance(ApiTestServerWithTestInMemoryDb); ////// Arrange ////var workoutViewModelRepository = ClientTestServer.Host.Services.GetService(typeof(IViewModelRepository<int, WorkoutViewModel, WorkoutOfmForPost, WorkoutOfmResourceParameters, WorkoutOfmCollectionResourceParameters>)) //// as IViewModelRepository<int, WorkoutViewModel, WorkoutOfmForPost, WorkoutOfmResourceParameters, WorkoutOfmCollectionResourceParameters>; ////var mapExerciseWorkoutViewModelRepository = ClientTestServer.Host.Services.GetService(typeof(IViewModelRepository<int, MapExerciseWorkoutViewModel, MapExerciseWorkoutOfmForPost, MapExerciseWorkoutOfmResourceParameters, MapExerciseWorkoutOfmCollectionResourceParameters>)) //// as IViewModelRepository<int, MapExerciseWorkoutViewModel, MapExerciseWorkoutOfmForPost, MapExerciseWorkoutOfmResourceParameters, MapExerciseWorkoutOfmCollectionResourceParameters>; ////var workoutHistoryViewModelRepository = ClientTestServer.Host.Services.GetService(typeof(IViewModelRepository<int, WorkoutHistoryViewModel, WorkoutHistoryOfmForPost, WorkoutHistoryOfmResourceParameters, WorkoutHistoryOfmCollectionResourceParameters>)) //// as IViewModelRepository<int, WorkoutHistoryViewModel, WorkoutHistoryOfmForPost, WorkoutHistoryOfmResourceParameters, WorkoutHistoryOfmCollectionResourceParameters>; ////var weightLiftingSetViewModelRepository = ClientTestServer.Host.Services.GetService(typeof(IViewModelRepository<int, WeightLiftingSetViewModel, WeightLiftingSetOfmForPost, WeightLiftingSetOfmResourceParameters, WeightLiftingSetOfmCollectionResourceParameters>)) //// as IViewModelRepository<int, WeightLiftingSetViewModel, WeightLiftingSetOfmForPost, WeightLiftingSetOfmResourceParameters, WeightLiftingSetOfmCollectionResourceParameters>; ////var transientController = new View.Controllers.WorkoutController(workoutViewModelRepository, mapExerciseWorkoutViewModelRepository, workoutHistoryViewModelRepository, weightLiftingSetViewModelRepository); // Arrange using (var controller = new MockedWorkoutController()) { var formCollection = new FormCollection(new Dictionary <string, StringValues>() { { "CurrentWeightLiftingSet-68-RepetitionsFull", new StringValues("50") }, { "CurrentWeightLiftingSet-68-RepetitionsReduced", new StringValues("20") }, { "CurrentWeightLiftingSet-68-WeightBurn", StringValues.Empty }, //{ "CurrentWeightLiftingSet-69-RepetitionsFull", new StringValues("50") }, //{ "CurrentWeightLiftingSet-69-RepetitionsReduced", new StringValues("20") }, // Todo: Due to a scoped lifetime, app crashes. Find it and make it transient //{ "CurrentWeightLiftingSet-69-WeightBurn", StringValues.Empty } }); // Act var iActionResult = await controller.AuthenticatedInstance.SaveChangesForWeightLiftingSets(1, formCollection); // Assert var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""UrlHelper"": null, ""ActionName"": ""HistoryDetails"", ""ControllerName"": ""WorkoutHistory"", ""RouteValues"": { ""workoutHistoryId"": 1 }, ""Permanent"": false, ""PreserveMethod"": false, ""Fragment"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }
public async Task ReturnCorrectIActionResultWithViewModel_UsingOverview() { await Task.Run(async() => { // Arrange using (var controller = new MockedWorkoutController()) { // Act var iActionResult = await controller.AuthenticatedInstance.Overview(); // Assert var actualViewResultModel = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedViewResultModel = @" { ""StatusCode"": null, ""ViewName"": ""Overview"", ""Model"": [ { ""Id"": 1, ""MapsExerciseWorkout"": [], ""AllExercises"": null, ""Name"": ""MondayChestSeed"" }, { ""Id"": 2, ""MapsExerciseWorkout"": [], ""AllExercises"": null, ""Name"": ""WednesdayBackSeed"" }, { ""Id"": 3, ""MapsExerciseWorkout"": [], ""AllExercises"": null, ""Name"": ""FridayLegSeed"" } ], ""ViewData"": {}, ""TempData"": null, ""ViewEngine"": null, ""ContentType"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedViewResultModel, actualViewResultModel); } }); }
public async Task ReturnRedirectToAccessDenied_WhenUnauthorized_UsingSaveChangesForWeightLiftingSets() { await Task.Run(async() => { // Arrange using (var controller = new MockedWorkoutController()) { var formCollection = new FormCollection(new Dictionary <string, StringValues>() { { "CurrentWeightLiftingSet-68-RepetitionsFull", new StringValues("50") } }); // Act var iActionResult = await controller.UnAuthenticatedInstance.SaveChangesForWeightLiftingSets(1, formCollection); // Assert var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""UrlHelper"": null, ""ActionName"": ""AccessDenied"", ""ControllerName"": ""Authorization"", ""RouteValues"": null, ""Permanent"": false, ""PreserveMethod"": false, ""Fragment"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }
public async Task ReturnCorrectIActionResultWithViewModel_UsingAssociatedExercises() { await Task.Run(async() => { // Arrange using (var controller = new MockedWorkoutController()) { // Act var iActionResult = await controller.AuthenticatedInstance.AssociatedExercises(2); // Assert var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""StatusCode"": null, ""ViewName"": null, ""Model"": { ""Id"": 2, ""MapsExerciseWorkout"": [ { ""Id"": 6, ""Exercise"": { ""Id"": 4, ""Name"": ""DeadLiftSeed"", ""ExerciseType"": ""WeightLifting"" }, ""ExerciseId"": 4, ""WorkoutId"": 2 }, { ""Id"": 7, ""Exercise"": { ""Id"": 5, ""Name"": ""SeatedPullDownSeed"", ""ExerciseType"": ""WeightLifting"" }, ""ExerciseId"": 5, ""WorkoutId"": 2 }, { ""Id"": 8, ""Exercise"": { ""Id"": 6, ""Name"": ""RowSeed"", ""ExerciseType"": ""WeightLifting"" }, ""ExerciseId"": 6, ""WorkoutId"": 2 }, { ""Id"": 9, ""Exercise"": { ""Id"": 10, ""Name"": ""SitupsSeed"", ""ExerciseType"": ""WeightLifting"" }, ""ExerciseId"": 10, ""WorkoutId"": 2 }, { ""Id"": 10, ""Exercise"": { ""Id"": 11, ""Name"": ""SpinningBikeSeed"", ""ExerciseType"": ""Cardio"" }, ""ExerciseId"": 11, ""WorkoutId"": 2 } ], ""AllExercises"": [ { ""Id"": 1, ""Name"": ""InclinedBenchPressSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 2, ""Name"": ""DumbBellFlySeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 3, ""Name"": ""NegativeBenchPressSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 4, ""Name"": ""DeadLiftSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 5, ""Name"": ""SeatedPullDownSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 6, ""Name"": ""RowSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 7, ""Name"": ""SquatSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 8, ""Name"": ""LegCurlSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 9, ""Name"": ""CalfRaiseSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 10, ""Name"": ""SitupsSeed"", ""ExerciseType"": ""WeightLifting"" }, { ""Id"": 11, ""Name"": ""SpinningBikeSeed"", ""ExerciseType"": ""Cardio"" } ], ""Name"": ""WednesdayBackSeed"" }, ""ViewData"": {}, ""TempData"": null, ""ViewEngine"": null, ""ContentType"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }
public async Task ReturnCorrectIActionResultWithViewModel_UsingHistories() { await Task.Run(async() => { // Arrange using (var controller = new MockedWorkoutController()) { // Act var iActionResult = await controller.AuthenticatedInstance.Histories(2); // Assert var actualIActionResult = JsonConvert.SerializeObject(iActionResult, new JsonSerializerSettings() { Formatting = Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedIActionResult = @" { ""StatusCode"": null, ""ViewName"": null, ""Model"": [ { ""Id"": 2, ""Workout"": { ""Id"": 2, ""MapsExerciseWorkout"": null, ""AllExercises"": null, ""Name"": ""WednesdayBackSeed"" }, ""ExerciseHistories"": [], ""AllExercises"": null, ""DateTimeStart"": ""2017-05-03T12:01:05"", ""DateTimeEnd"": ""2017-05-03T14:32:01"" }, { ""Id"": 5, ""Workout"": { ""Id"": 2, ""MapsExerciseWorkout"": null, ""AllExercises"": null, ""Name"": ""WednesdayBackSeed"" }, ""ExerciseHistories"": [], ""AllExercises"": null, ""DateTimeStart"": ""2017-05-10T12:01:05"", ""DateTimeEnd"": ""2017-05-10T14:32:01"" }, { ""Id"": 8, ""Workout"": { ""Id"": 2, ""MapsExerciseWorkout"": null, ""AllExercises"": null, ""Name"": ""WednesdayBackSeed"" }, ""ExerciseHistories"": [], ""AllExercises"": null, ""DateTimeStart"": ""2017-05-17T12:01:05"", ""DateTimeEnd"": ""2017-05-17T14:32:01"" } ], ""ViewData"": {}, ""TempData"": null, ""ViewEngine"": null, ""ContentType"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(expectedIActionResult, actualIActionResult); } }); }