public void Before_the_tests()
        {
            _cacheHelper.PurgeAllCaches();
            _lookupRepository         = new LookupDataRepository(_databaseService.WebConfiguration, _cacheHelper);
            _removedReasonId1         = 1;
            _removedReasonId2         = 2;
            _removedReasonNonExistent = 100;
            _numberOfExpectedResults  = 2;

            _removedReason1 = new RemovedReasonModel
            {
                Id          = _removedReasonId1,
                CreatedBy   = "system",
                Status      = "x",
                Reason      = "a",
                Description = "description a"
            };
            _removedReason2 = new RemovedReasonModel
            {
                Id          = _removedReasonId2,
                CreatedBy   = "system",
                Status      = "x",
                Reason      = "b",
                Description = "description b"
            };
            RemovedReasonHandler.InsertRecord(_removedReason1);
            RemovedReasonHandler.InsertRecord(_removedReason2);
        }
        public void Set_up_and_run_update()
        {
            _organisationStatusId1        = 1;
            _organisationStatusId0        = 0;
            _providerTypeId1              = 10;
            _organisationTypeId1          = 100;
            _organisationUkprn            = 11114433;
            _legalName                    = "Legal name 1";
            _organisationId               = Guid.NewGuid();
            _updateOrganisationRepository = new UpdateOrganisationRepository(_databaseService.DbConnectionHelper);
            _repository                   = new OrganisationRepository(_databaseService.DbConnectionHelper);
            _status1 = new OrganisationStatusModel {
                Id = _organisationStatusId1, Status = "Live", CreatedAt = DateTime.Now, CreatedBy = "TestSystem"
            };
            OrganisationStatusHandler.InsertRecord(_status1);
            _status2 = new OrganisationStatusModel {
                Id = _organisationStatusId0, Status = "Live", CreatedAt = DateTime.Now, CreatedBy = "TestSystem"
            };
            OrganisationStatusHandler.InsertRecord(_status2);
            _reason1 = new RemovedReasonModel {
                Id = 1, CreatedBy = "System", Reason = "Test reason", Status = "Live"
            };
            RemovedReasonHandler.InsertRecord(_reason1);
            _reason2 = new RemovedReasonModel {
                Id = 2, CreatedBy = "System", Reason = "Test reason 2", Status = "Live"
            };
            RemovedReasonHandler.InsertRecord(_reason2);
            _providerType1 = new ProviderTypeModel {
                Id = _providerTypeId1, ProviderType = "provider type 10", Description = "provider type description", CreatedAt = DateTime.Now, CreatedBy = "TestSystem", Status = "Live"
            };
            ProviderTypeHandler.InsertRecord(_providerType1);
            _organisationTypeModel1 = new OrganisationTypeModel {
                Id = _organisationTypeId1, Type = "organisation type 10", Description = "organisation type description", CreatedAt = DateTime.Now, CreatedBy = "TestSystem", Status = "Live"
            };
            OrganisationTypeHandler.InsertRecord(_organisationTypeModel1);
            var json = "{ \"CompanyNumber\":\"12345678\",\"CharityNumber\":\"1234567\",\"ParentCompanyGuarantee\":false,\"FinancialTrackRecord\":true,\"NonLevyContract\":false,\"StartDate\":\"2019-03-27 00:00:00\",\"RemovedReason\":{\"Id\":1,\"Reason\":\"Test reason\",\"Description\":null,\"CreatedBy\":\"System\",\"CreatedAt\":\"2019-02-11 15:47:23\",\"UpdatedBy\":null,\"UpdatedAt\":null,\"Status\":\"Live\"}}";

            _organisation = new OrganisationModel
            {
                UKPRN = _organisationUkprn,
                OrganisationTypeId = _organisationTypeId1,
                ProviderTypeId     = _providerTypeId1,
                StatusId           = _organisationStatusId1,
                StatusDate         = DateTime.Today.AddDays(5),
                LegalName          = _legalName,
                Id               = _organisationId,
                CreatedAt        = DateTime.Now,
                CreatedBy        = "Test",
                OrganisationData = json
            };
            OrganisationHandler.InsertRecord(_organisation);
            _changedBy = "SystemChange";

            var _updatedReason = _updateOrganisationRepository.UpdateStatusWithRemovedReason(_organisationId, _organisationStatusId0, _reason2.Id, _changedBy).Result;

            _successfulUpdate        = (_updatedReason != null);
            _newOrganisationStatusId = _repository.GetOrganisationStatus(_organisationId).Result;
        }
 public void Tear_down()
 {
     RemovedReasonHandler.DeleteAllRecords();
 }