コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public void Constructor_NullRepository_Throws()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         var _ = new OrganisationValidator(null);
     });
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        public void Validate_NullOrganisation_Throws()
        {
            var mockOrganisationRepository = SetUpGetByOdsCodeAsync(null);

            var validator = new OrganisationValidator(mockOrganisationRepository);

            Assert.ThrowsAsync <ArgumentNullException>(async() => await validator.ValidateAsync(null));
        }
コード例 #6
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
 }