public async Task SubmitClaimAsync_Should_Create_New_Claim_Request() { using (var context = new WarblerDbContext(Options)) { var repo = new SqlClaimRequestRepository(context); var test = new ClaimRequestService(repo); var request = new ClaimRequest { FirstName = "William", LastName = "Harris", University = Test, PositionTitle = "Admin", Comments = "none", Submitter = Bob }; await test.SubmitAsync(request); } using (var context = new WarblerDbContext(Options)) { var claimRequest = context.ClaimRequests.Single(); Assert.AreEqual(1, context.ClaimRequests.Count()); Assert.AreEqual("William", claimRequest.FirstName); Assert.AreEqual("Harris", claimRequest.LastName); Assert.AreEqual(Test, claimRequest.University); Assert.AreEqual("Admin", claimRequest.PositionTitle); Assert.AreEqual("none", claimRequest.Comments); } }
public async Task <IActionResult> Index(ManageMessageId?message = null) { ViewData["StatusMessage"] = message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : message == ManageMessageId.ClaimRequestSuccess ? "Your claim was successfully submitted." : message == ManageMessageId.ManageUniversitySuccess ? "Custom authentication was successfully saved." : message == ManageMessageId.TestSamlSuccess ? "SAML SSO flow was successful." : ""; var user = await GetCurrentUserAsync(); if (user == null) { return(View("Error")); } var claimRequestService = new ClaimRequestService(new SqlClaimRequestRepository(_dbContext)); var model = new IndexViewModel { HasPassword = await _userManager.HasPasswordAsync(user), PhoneNumber = await _userManager.GetPhoneNumberAsync(user), TwoFactor = await _userManager.GetTwoFactorEnabledAsync(user), Logins = await _userManager.GetLoginsAsync(user), BrowserRemembered = await _signInManager.IsTwoFactorClientRememberedAsync(user), ClaimedUniversity = await claimRequestService.GetClaimedUniversityAsync(user) }; return(View(model)); }
public async Task <IActionResult> ClaimUniversity(ClaimUniversityViewModel model) { if (!ModelState.IsValid) { return(View(new ClaimUniversityViewModel(await GetEligibleUniversities()))); } var service = new ClaimRequestService(new SqlClaimRequestRepository(_dbContext)); var user = await GetCurrentUserAsync(); try { model.ClaimRequest.SubmitterId = user.Id; await service.SubmitAsync(model.ClaimRequest); return(RedirectToAction(nameof(Index), new { Message = ManageMessageId.ClaimRequestSuccess })); } catch (Exception) { return(View("Error")); } }
public DevController(WarblerDbContext context) { UniversityService = new UniversityService(new SqlUniversityRepository(context)); ClaimRequestService = new ClaimRequestService(new SqlClaimRequestRepository(context)); }