public void Before_the_tests() { _cacheHelper.PurgeAllCaches(); _lookupRepository = new LookupDataRepository(_databaseService.DbConnectionHelper, _cacheHelper); _organisationValidator = new OrganisationValidator(null, _lookupRepository, null); _providerTypeId1 = 1; _providerTypeId2 = 2; _providerTypeIdNonExistent = 100; _numberOfExpectedResults = 2; _providerType1 = new ProviderTypeModel { Id = _providerTypeId1, CreatedAt = DateTime.Now, CreatedBy = "system", Status = "x", ProviderType = "a" }; _providerType2 = new ProviderTypeModel { Id = _providerTypeId2, CreatedAt = DateTime.Now, CreatedBy = "system", Status = "x", ProviderType = "b" }; ProviderTypeHandler.InsertRecord(_providerType1); ProviderTypeHandler.InsertRecord(_providerType2); }
public async Task <Result> InsertOrganisation(ScopeOptions scope, OrganisationEdit organisation) { var validator = new OrganisationValidator(_context, true, organisation.Id); var result = validator.Validate(organisation).GetResult(); if (!result.Success) { return(result); } //Only for super admins if (!scope.IgnoreScope) { return(new Result()); } var entity = MapModelToEntity(organisation); await _context.Organisation.AddAsync(entity); await _context.SaveChangesAsync(); organisation.Id = entity.Id; result.Tag = organisation; return(result); }
public void Constructor_NullRepository_Throws() { Assert.Throws <ArgumentNullException>(() => { var _ = new OrganisationValidator(null); }); }
public async Task <Result> UpdateOrganisation(ScopeOptions scope, OrganisationEdit organisation) { var validator = new OrganisationValidator(_context, false, organisation.Id); var result = validator.Validate(organisation).GetResult(); if (!result.Success) { return(result); } //Only organisation scope if (scope.Scope == Scope.Branch || scope.Scope == Scope.User) { return(new Result()); } var entity = await ScopeQuery .GetOrganisationEntityQuery(_context, scope) .FirstOrDefaultAsync(o => o.Id == organisation.Id); if (entity == null) { return(new Result()); } entity = MapModelToEntity(organisation, entity); await _context.SaveChangesAsync(); return(result); }
public void Validate_NullOrganisation_Throws() { var mockOrganisationRepository = SetUpGetByOdsCodeAsync(null); var validator = new OrganisationValidator(mockOrganisationRepository); Assert.ThrowsAsync <ArgumentNullException>(async() => await validator.ValidateAsync(null)); }
public void Before_each_test() { _repository = new Mock <IOrganisationRepository>(); _logger = new Mock <ILogger <GetOrganisationRegisterStatusHandler> >(); var validator = new OrganisationValidator(new Mock <IDuplicateCheckRepository>().Object, new Mock <ILookupDataRepository>().Object, new Mock <IOrganisationRepository>().Object); _handler = new GetOrganisationRegisterStatusHandler(_repository.Object, _logger.Object, validator); }
public void Validate_Admin_Delete_Completes(string role) { var ctx = Creator.GetContext(role: role); _context.Setup(c => c.HttpContext).Returns(ctx); var validator = new OrganisationValidator(_context.Object); var valres = validator.Validate(new Organisation(), ruleSet: nameof(IOrganisationLogic.Delete)); valres.Errors.Should().BeEmpty(); }
public void Validate_NonAdmin_Update_Returns_Error(string role) { var ctx = Creator.GetContext(role: role); _context.Setup(c => c.HttpContext).Returns(ctx); var validator = new OrganisationValidator(_context.Object); var valres = validator.Validate(new Organisation(), ruleSet: nameof(IOrganisationLogic.Update)); valres.Errors.Count().Should().Be(1); }
public async Task Validate_Organisation_Does_Exist_Returns_Failure() { var existingOrganisation = OrganisationBuilder.Create(1).Build(); var mockOrganisationRepository = SetUpGetByOdsCodeAsync(existingOrganisation); var validator = new OrganisationValidator(mockOrganisationRepository); var expected = Result.Failure(OrganisationErrors.OrganisationAlreadyExists()); var actual = await validator.ValidateAsync(existingOrganisation); actual.Should().BeEquivalentTo(expected); }
public async Task Validate_Organisation_Does_Not_Exist_Returns_Success() { var newOrganisation = OrganisationBuilder.Create(1).Build(); var mockOrganisationRepository = SetUpGetByOdsCodeAsync(null); var validator = new OrganisationValidator(mockOrganisationRepository); var expected = Result.Success(); var actual = await validator.ValidateAsync(newOrganisation); actual.Should().BeEquivalentTo(expected); }
public async Task Validate_Calls_OrganisationRepository_Once() { var newOrganisation = OrganisationBuilder.Create(1).Build(); var mockOrganisationRepository = new Mock <IOrganisationRepository>(); mockOrganisationRepository.Setup(r => r.GetByOdsCodeAsync(It.IsAny <string>())).ReturnsAsync(newOrganisation); var validator = new OrganisationValidator(mockOrganisationRepository.Object); await validator.ValidateAsync(newOrganisation); mockOrganisationRepository.Verify(r => r.GetByOdsCodeAsync(newOrganisation.OdsCode), Times.Once); }
public void Before_each_test() { _lookupRepository = new Mock <ILookupDataRepository>(); _lookupRepository.Setup(x => x.GetProviderTypes()).ReturnsAsync(new List <ProviderType> { new ProviderType { Id = 1, Description = "Main" } }); _lookupRepository.Setup(x => x.GetOrganisationTypes()).ReturnsAsync(new List <OrganisationType> { new OrganisationType { Id = 1, Description = "Something" } }); _validator = new OrganisationValidator(null, _lookupRepository.Object, null); }
public void Before_the_tests() { _lookupRepository = new LookupDataRepository(_databaseService.WebConfiguration, _cacheHelper); _organisationValidator = new OrganisationValidator(null, _lookupRepository, null); _organisationStatusId1 = 10; _organisationStatusId2 = 20; _organisationStatusId3 = 30; _organisationStatusIdNonExistent = 100; _numberOfExpectedResults = 3; _cacheHelper.PurgeAllCaches(); OrganisationStatusHandler.InsertRecord(new OrganisationStatusModel { Id = _organisationStatusId1, CreatedAt = DateTime.Now, CreatedBy = "system", Status = "a" }); OrganisationStatusHandler.InsertRecord(new OrganisationStatusModel { Id = _organisationStatusId2, CreatedAt = DateTime.Now, CreatedBy = "system", Status = "b" }); OrganisationStatusHandler.InsertRecord(new OrganisationStatusModel { Id = _organisationStatusId3, CreatedAt = DateTime.Now, CreatedBy = "system", Status = "c" }); }
public void Before_each_test() { _validator = new OrganisationValidator(null, null, null); }