public void Given_HasAccessToAllSites_is_true_When_Add_Then_request_service_to_create_new_riskAssessor() { // Given var viewModel = new AddEditRiskAssessorViewModel() { SiteId = null, HasAccessToAllSites = true, EmployeeId = Guid.NewGuid(), }; var target = GetTarget(); // When dynamic result = target.Add(viewModel); // Then _riskAssessorService.Verify(x => x.Create(It.Is<CreateEditRiskAssessorRequest>( y => y.CompanyId == TestControllerHelpers.CompanyIdAssigned && y.CreatingUserId == TestControllerHelpers.UserIdAssigned && y.DoNotSendReviewDueNotification == viewModel.DoNotSendReviewDueNotification && y.DoNotSendTaskCompletedNotifications == viewModel.DoNotSendTaskCompletedNotifications && y.DoNotSendTaskOverdueNotifications == viewModel.DoNotSendTaskOverdueNotifications && y.DoNotSendDueTomorrowNotification == viewModel.DoNotSendTaskDueTomorrowNotification && y.EmployeeId == viewModel.EmployeeId && y.HasAccessToAllSites == viewModel.HasAccessToAllSites ))); }
public void When_Add_Then_request_service_to_create_new_riskAssessor() { // Given var viewModel = new AddEditRiskAssessorViewModel() { Site = "Magaluf", SiteId = 1234L, EmployeeId = Guid.NewGuid() }; var target = GetTarget(); // When target.Add(viewModel); // Then _riskAssessorService.Verify(x => x.Create(It.Is<CreateEditRiskAssessorRequest>( y => y.CompanyId == TestControllerHelpers.CompanyIdAssigned && y.CreatingUserId == TestControllerHelpers.UserIdAssigned && y.DoNotSendReviewDueNotification == viewModel.DoNotSendReviewDueNotification && y.DoNotSendTaskCompletedNotifications == viewModel.DoNotSendTaskCompletedNotifications && y.DoNotSendTaskOverdueNotifications == viewModel.DoNotSendTaskOverdueNotifications && y.DoNotSendDueTomorrowNotification == viewModel.DoNotSendTaskDueTomorrowNotification && y.EmployeeId == viewModel.EmployeeId ))); }
public void Setup() { _addEditRiskAssessorViewModelFactory = new Mock<IAddEditRiskAssessorViewModelFactory>(); _viewModel = new AddEditRiskAssessorViewModel { SaveButtonEnabled = true }; _addEditRiskAssessorViewModelFactory .Setup(x => x.GetViewModel()) .Returns(_viewModel); }
public void When_Add_Then_return_json() { // Given var viewModel = new AddEditRiskAssessorViewModel() { Site = "Magaluf", SiteId = 1234L, EmployeeId = Guid.NewGuid() }; var target = GetTarget(); // When var result = target.Add(viewModel); // Then Assert.That(result, Is.InstanceOf<JsonResult>()); }
public void When_Edit_Then_return_json() { // Given var viewModel = new AddEditRiskAssessorViewModel() { Site = "Llandundo", SiteId = 1234L, EmployeeId = Guid.NewGuid(), RiskAssessorId = 555L }; var target = GetTarget(); // When var result = target.Edit(viewModel); // Then Assert.That(result, Is.InstanceOf<JsonResult>()); }
public void Given_invalid_model_submission_When_Add_Then_return_errors_as_json() { // Given var viewModel = new AddEditRiskAssessorViewModel() { EmployeeId = Guid.NewGuid(), Site = "a site", SiteId = 1234L, RiskAssessorId = 555L }; var target = GetTarget(); // When target.ModelState.AddModelError("error key", "error message"); dynamic result = target.Edit(viewModel); // Then Assert.That(bool.Parse(result.Data.Success), Is.False); }
public void Setup() { _companyId = 88888L; _riskAssessorId = 3L; _addEditRiskAssessorViewModelFactory = new Mock<IAddEditRiskAssessorViewModelFactory>(); _viewModel = new AddEditRiskAssessorViewModel { SaveButtonEnabled = true }; _addEditRiskAssessorViewModelFactory .Setup(x => x.WithCompanyId(It.IsAny<long>())) .Returns(_addEditRiskAssessorViewModelFactory.Object); _addEditRiskAssessorViewModelFactory .Setup(x => x.WithRiskAssessorId(It.IsAny<long>())) .Returns(_addEditRiskAssessorViewModelFactory.Object); _addEditRiskAssessorViewModelFactory .Setup(x => x.GetViewModel()) .Returns(_viewModel); }
public AddEditRiskAssessorViewModel GetViewModel() { AddEditRiskAssessorViewModel viewModel; viewModel = new AddEditRiskAssessorViewModel { SaveButtonEnabled = true }; if (_companyId > 0 && _riskAssessorId > 0) { var riskAssessor = _riskAssessorService.GetByIdAndCompanyId(_riskAssessorId, _companyId); viewModel.EmployeeId = riskAssessor.Employee.Id; viewModel.Employee = riskAssessor.Employee.Forename + " " + riskAssessor.Employee.Surname; viewModel.SiteId = riskAssessor.Site != null ? riskAssessor.Site.Id : (long?)null; viewModel.Site = riskAssessor.Site != null ? riskAssessor.Site.Name : null; viewModel.DoNotSendReviewDueNotification = riskAssessor.DoNotSendReviewDueNotification; viewModel.DoNotSendTaskOverdueNotifications = riskAssessor.DoNotSendTaskOverdueNotifications; viewModel.DoNotSendTaskCompletedNotifications = riskAssessor.DoNotSendTaskCompletedNotifications; viewModel.HasAccessToAllSites = riskAssessor.HasAccessToAllSites; } return viewModel; }
public void Given_no_employee_id_When_Add_Then_return_error() { // Given var viewModel = new AddEditRiskAssessorViewModel() { EmployeeId = Guid.NewGuid(), Site = string.Empty, SiteId = null }; var target = GetTarget(); // When dynamic result = target.Add(viewModel); // Then Assert.That(bool.Parse(result.Data.Success), Is.False); }
public void Given_site_selected_When_Edit_Then_return_RiskAssessor_details_in_json() { // Given var viewModel = new AddEditRiskAssessorViewModel { RiskAssessorId = 1234L, DoNotSendReviewDueNotification = true, DoNotSendTaskOverdueNotifications = true, DoNotSendTaskCompletedNotifications = true, DoNotSendTaskDueTomorrowNotification = true, EmployeeId = Guid.NewGuid(), SiteId = 888L, Site = "Vatican", HasAccessToAllSites = false, }; var target = GetTarget(); // When dynamic result = target.Edit(viewModel); // Then Assert.That(result.Data.Success, Is.True); Assert.That(result.Data.RiskAssessorId, Is.EqualTo(viewModel.RiskAssessorId.Value)); Assert.That(result.Data.Forename, Is.EqualTo(_returnedRiskAssessor.Employee.Forename)); Assert.That(result.Data.Surname, Is.EqualTo(_returnedRiskAssessor.Employee.Surname)); Assert.That(result.Data.DoNotSendReviewDueNotification, Is.EqualTo(_returnedRiskAssessor.DoNotSendReviewDueNotification)); Assert.That(result.Data.DoNotSendTaskCompletedNotifications, Is.EqualTo(_returnedRiskAssessor.DoNotSendTaskCompletedNotifications)); Assert.That(result.Data.DoNotSendTaskOverdueNotifications, Is.EqualTo(_returnedRiskAssessor.DoNotSendTaskOverdueNotifications)); Assert.That(result.Data.FormattedName, Is.EqualTo(_returnedRiskAssessor.Employee.FullName)); }
public void Given_no_riskAssessor_id_When_Edit_Then_throw_exception() { // Given var viewModel = new AddEditRiskAssessorViewModel { DoNotSendReviewDueNotification = true, DoNotSendTaskOverdueNotifications = true, DoNotSendTaskCompletedNotifications = true, DoNotSendTaskDueTomorrowNotification = true, EmployeeId = Guid.NewGuid(), SiteId = 888L, Site = "Powys", HasAccessToAllSites = false, RiskAssessorId = (long?)null }; var target = GetTarget(); // When // Then Assert.Throws<ArgumentNullException>(() => target.Edit(viewModel)); }
public void Given_site_selected_When_Edit_Then_site_id_and_risk_assessor_are_passed_to_service() { // Given var viewModel = new AddEditRiskAssessorViewModel() { DoNotSendReviewDueNotification = true, DoNotSendTaskOverdueNotifications = true, DoNotSendTaskCompletedNotifications = true, DoNotSendTaskDueTomorrowNotification = true, EmployeeId = Guid.NewGuid(), SiteId = 888L, Site = "Vatican", HasAccessToAllSites = false, RiskAssessorId = 555L }; var target = GetTarget(); // When var result = target.Edit(viewModel); // Then _riskAssessorService.Verify(x => x.Update(It.Is<CreateEditRiskAssessorRequest>( y => y.CompanyId == TestControllerHelpers.CompanyIdAssigned && y.CreatingUserId == TestControllerHelpers.UserIdAssigned && y.DoNotSendReviewDueNotification == viewModel.DoNotSendReviewDueNotification && y.DoNotSendTaskCompletedNotifications == viewModel.DoNotSendTaskCompletedNotifications && y.DoNotSendTaskOverdueNotifications == viewModel.DoNotSendTaskOverdueNotifications && y.EmployeeId == viewModel.EmployeeId && y.SiteId == viewModel.SiteId && y.RiskAssessorId == viewModel.RiskAssessorId ))); }
public void Given_no_employee_id_When_Add_Then_return_error() { // Given var viewModel = new AddEditRiskAssessorViewModel() { EmployeeId = null, Site = "Southport", SiteId = 888L, RiskAssessorId = 555L }; var target = GetTarget(); // When dynamic result = target.Edit(viewModel); // Then Assert.That(bool.Parse(result.Data.Success), Is.False); }
public void When_Add_Then_return_new_riskAssessor_info() { // Given _riskAssessorService .Setup(x => x.GetByIdAndCompanyId(_newRiskAssessorId, TestControllerHelpers.CompanyIdAssigned)) .Returns(new RiskAssessorDto() { Id = _newRiskAssessorId, Employee = new EmployeeDto() { Forename = "Jimbo", Surname = "Jones" }, Site = new SiteDto() }); var viewModel = new AddEditRiskAssessorViewModel() { Site = "Magaluf", SiteId = 1234L, EmployeeId = Guid.NewGuid() }; var target = GetTarget(); // When dynamic result = target.Add(viewModel); // Then Assert.That(result.Data.Forename, Is.EqualTo("Jimbo")); Assert.That(result.Data.Surname, Is.EqualTo("Jones")); Assert.That(result.Data.RiskAssessorId, Is.EqualTo(_newRiskAssessorId)); }
private long CreateNewRiskAssessor(AddEditRiskAssessorViewModel viewModel) { var request = new CreateEditRiskAssessorRequest { CompanyId = CurrentUser.CompanyId, CreatingUserId = CurrentUser.UserId, EmployeeId = viewModel.EmployeeId.Value, SiteId = viewModel.SiteId, DoNotSendTaskOverdueNotifications = viewModel.DoNotSendTaskOverdueNotifications, DoNotSendTaskCompletedNotifications = viewModel.DoNotSendTaskCompletedNotifications, DoNotSendReviewDueNotification = viewModel.DoNotSendReviewDueNotification, HasAccessToAllSites = viewModel.HasAccessToAllSites }; return _riskAssessorService.Create(request); }
private void Validate(AddEditRiskAssessorViewModel viewModel) { if (viewModel.HasAccessToAllSites && viewModel.SiteId != null) { ModelState.AddModelError("Site", "Please select either All Sites or an individual site"); } if (viewModel.HasAccessToAllSites == false && viewModel.SiteId == null) { ModelState.AddModelError("Site", "Please select a Site"); } if (viewModel.EmployeeId == null) { ModelState.AddModelError("Employee", "Please select an Employee"); } }
public JsonResult Add(AddEditRiskAssessorViewModel viewModel) { Validate(viewModel); if (!ModelState.IsValid) { return ModelStateErrorsWithKeysAsJson(); } var riskAssessorId = CreateNewRiskAssessor(viewModel); var riskAssessor = _riskAssessorService.GetByIdAndCompanyId(riskAssessorId, CurrentUser.CompanyId); return Json(new { Success = true, RiskAssessorId = riskAssessorId, Forename = riskAssessor.Employee.Forename, Surname = riskAssessor.Employee.Surname, SiteName = riskAssessor.HasAccessToAllSites ? "All Sites" : riskAssessor.Site.Name, DoNotSendReviewDueNotification = riskAssessor.DoNotSendReviewDueNotification, DoNotSendTaskCompletedNotifications = riskAssessor.DoNotSendTaskCompletedNotifications, DoNotSendTaskOverdueNotifications = riskAssessor.DoNotSendTaskOverdueNotifications, FormattedName = riskAssessor.Employee.FullName, }); }
public void Given_site_id_and_HasAccessToAllSites_When_Add_Then_return_error() { // Given var viewModel = new AddEditRiskAssessorViewModel() { EmployeeId = Guid.NewGuid(), HasAccessToAllSites = true, SiteId = 123L }; var target = GetTarget(); // When dynamic result = target.Add(viewModel); // Then Assert.That(bool.Parse(result.Data.Success), Is.False); }
public void Given_not_HasAccessToAllSites_and_no_site_name_When_Add_Then_return_error() { // Given var viewModel = new AddEditRiskAssessorViewModel() { EmployeeId = Guid.NewGuid(), HasAccessToAllSites = false, SiteId = null, RiskAssessorId = 555L }; var target = GetTarget(); // When dynamic result = target.Edit(viewModel); // Then Assert.That(bool.Parse(result.Data.Success), Is.False); }
public JsonResult Edit(AddEditRiskAssessorViewModel viewModel) { Validate(viewModel); if (viewModel.RiskAssessorId.HasValue == false) throw new ArgumentNullException("RiskAssessorId not defined"); if (!ModelState.IsValid) { return ModelStateErrorsWithKeysAsJson(); } var request = new CreateEditRiskAssessorRequest() { CompanyId = CurrentUser.CompanyId, CreatingUserId = CurrentUser.UserId, DoNotSendReviewDueNotification = viewModel.DoNotSendReviewDueNotification, DoNotSendTaskCompletedNotifications = viewModel.DoNotSendTaskCompletedNotifications, DoNotSendTaskOverdueNotifications = viewModel.DoNotSendTaskOverdueNotifications, EmployeeId = viewModel.EmployeeId.Value, HasAccessToAllSites = viewModel.HasAccessToAllSites, SiteId = viewModel.SiteId, RiskAssessorId = viewModel.RiskAssessorId.Value }; _riskAssessorService.Update(request); var riskAssessor = _riskAssessorService.GetByIdAndCompanyId(viewModel.RiskAssessorId.Value, CurrentUser.CompanyId); return Json(new { Success = true, RiskAssessorId = viewModel.RiskAssessorId.Value, Forename = riskAssessor.Employee.Forename, Surname = riskAssessor.Employee.Surname, SiteName = riskAssessor.SiteName, DoNotSendReviewDueNotification = riskAssessor.DoNotSendReviewDueNotification, DoNotSendTaskCompletedNotifications = riskAssessor.DoNotSendTaskCompletedNotifications, DoNotSendTaskOverdueNotifications = riskAssessor.DoNotSendTaskOverdueNotifications, FormattedName = riskAssessor.Employee.FullName, }); }