public IActionResult SaveNotificationPreferences( UserType?userType, IEnumerable <int> notificationIds, DlsSubApplication dlsSubApplication ) { var userReference = GetUserReference(userType); if (userReference == null) { return(RedirectToAction("AccessDenied", "LearningSolutions")); } notificationPreferencesService.SetNotificationPreferencesForUser( userReference.UserType, userReference.Id, notificationIds ); return(RedirectToAction( "Index", "NotificationPreferences", new { dlsSubApplication = dlsSubApplication.UrlSegment } )); }
public void SaveNotificationPreferences_redirects_to_expected_page_on_success() { // Given A.CallTo( () => notificationPreferencesService.SetNotificationPreferencesForUser( UserType.AdminUser, A <int?> ._, A <IEnumerable <int> > ._ ) ).DoesNothing(); var parameterName = typeof(MyAccountController).GetMethod("Index")?.GetParameters() .SingleOrDefault(p => p.ParameterType == typeof(DlsSubApplication))?.Name; // When var result = controller.SaveNotificationPreferences( UserType.AdminUser, new List <int>(), DlsSubApplication.Default ); // Then result.Should().BeRedirectToActionResult().WithActionName("Index").WithRouteValue( parameterName, DlsSubApplication.Default.UrlSegment ); }