public List <EditCustomFieldViewModel> GetEditCustomFieldViewModelsForCentre( int centreId, string?answer1, string?answer2, string?answer3, string?answer4, string?answer5, string?answer6 ) { var answers = new List <string?> { answer1, answer2, answer3, answer4, answer5, answer6 }; var customPrompts = centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(centreId); return(customPrompts.CustomPrompts.Select( cp => new EditCustomFieldViewModel( cp.CustomPromptNumber, cp.CustomPromptText, cp.Mandatory, cp.Options, answers[cp.CustomPromptNumber - 1] ) ).ToList()); }
public void GetCustomPromptsForCentreByCentreId_Returns_Populated_CentreCustomPrompts() { // Given var expectedPrompt1 = CustomPromptsTestHelper.GetDefaultCustomPrompt(1, options: null, mandatory: true); var expectedPrompt2 = CustomPromptsTestHelper.GetDefaultCustomPrompt(2, "Department / team", null, true); var customPrompts = new List <CustomPrompt> { expectedPrompt1, expectedPrompt2 }; var expectedCustomerPrompts = CustomPromptsTestHelper.GetDefaultCentreCustomPrompts(customPrompts); A.CallTo(() => centreCustomPromptsDataService.GetCentreCustomPromptsByCentreId(29)) .Returns ( CustomPromptsTestHelper.GetDefaultCentreCustomPromptsResult( customField1Prompt: "Custom Prompt", customField1Options: null ) ); // When var result = centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(29); // Then result.Should().BeEquivalentTo(expectedCustomerPrompts); }
public IActionResult Index() { TempData.Clear(); var centreId = User.GetCentreId(); var customPrompts = centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(centreId); var model = new DisplayPromptsViewModel(customPrompts.CustomPrompts); return(View(model)); }
public void Setup() { centreCustomPromptsService = A.Fake <ICentreCustomPromptsService>(); groupsService = A.Fake <IGroupsService>(); userService = A.Fake <IUserService>(); courseService = A.Fake <ICourseService>(); A.CallTo(() => groupsService.GetGroupsForCentre(A <int> ._)).Returns(new List <Group>()); A.CallTo(() => centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(A <int> ._)) .Returns(prompts); httpRequest = A.Fake <HttpRequest>(); httpResponse = A.Fake <HttpResponse>(); const string cookieName = "DelegateGroupsFilter"; const string cookieValue = "LinkedToField|LinkedToField|0"; delegateGroupsController = new DelegateGroupsController( centreCustomPromptsService, groupsService, userService, courseService ) .WithMockHttpContext(httpRequest, cookieName, cookieValue, httpResponse) .WithMockUser(true) .WithMockServices() .WithMockTempData(); }
public void EditDetailsPostSave_with_missing_delegate_answers_fails_validation() { // Given var myAccountController = new MyAccountController( centreCustomPromptsService, userService, imageResizeService, jobGroupsDataService, centreCustomPromptHelper ).WithDefaultContext().WithMockUser(true, adminId: null); var customPromptLists = new List <CustomPrompt> { CustomPromptsTestHelper.GetDefaultCustomPrompt(1, mandatory: true) }; A.CallTo (() => centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(2)).Returns( CustomPromptsTestHelper.GetDefaultCentreCustomPrompts(customPromptLists, 2) ); var formData = new MyAccountEditDetailsFormData(); var expectedPrompt = new EditCustomFieldViewModel(1, "Custom Prompt", true, new List <string>(), null); var expectedModel = new MyAccountEditDetailsViewModel( formData, new List <(int id, string name)>(), new List <EditCustomFieldViewModel> { expectedPrompt }, DlsSubApplication.Default ); // When var result = myAccountController.EditDetails(formData, "save", DlsSubApplication.Default); // Then A.CallTo(() => userService.NewEmailAddressIsValid(A <string> ._, A <int?> ._, A <int?> ._, A <int> ._)) .MustNotHaveHappened(); result.As <ViewResult>().Model.As <MyAccountEditDetailsViewModel>().Should().BeEquivalentTo(expectedModel); myAccountController.ModelState[nameof(MyAccountEditDetailsFormData.Answer1)].ValidationState.Should().Be (ModelValidationState.Invalid); }
public void GetEditCustomFieldViewModelsForCentre_returns_populated_list() { // Given var customPrompt1 = CustomPromptsTestHelper.GetDefaultCustomPrompt(1, options: "Clinical\r\nNon-Clinical"); var customPrompt2 = CustomPromptsTestHelper.GetDefaultCustomPrompt(2); var centreCustomPrompts = CustomPromptsTestHelper.GetDefaultCentreCustomPrompts( new List <CustomPrompt> { customPrompt1, customPrompt2 }, 1 ); A.CallTo(() => centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(1)) .Returns(centreCustomPrompts); // When var result = centreCustomPromptHelper.GetEditCustomFieldViewModelsForCentre( 1, Answer1, Answer2, null, null, null, null ); // Then using (new AssertionScope()) { result.Count.Should().Be(2); result[0].CustomFieldId.Should().Be(1); result[0].Options.Count().Should().Be(2); result[0].Options.First().Value.Should().BeEquivalentTo("Clinical"); result[1].CustomFieldId.Should().Be(2); result[1].Options.Count().Should().Be(0); } }
private IEnumerable <CustomPrompt> GetRegistrationPromptsWithSetOptions(int centreId) { return(centreCustomPromptsService.GetCustomPromptsForCentreByCentreId(centreId).CustomPrompts .Where(cp => cp.Options.Any())); }