public async void Handle_CouldNotCreateOrganisationResearcher_Test()
        {
            Organisation organisation = new Organisation()
            {
            };

            this._unitOfUnitMock.Setup(mock => mock.OrganisationRepository.Create(It.IsAny <Organisation>()))
            .Returns(organisation);

            OrganisationResearcher nullItem = null;

            this._unitOfUnitMock.Setup(mock =>
                                       mock.RelationsRepository.CreateOrganisationResearcher(It.IsAny <OrganisationResearcher>()))
            .Returns(nullItem);

            CreateOrganisationCommand command = new CreateOrganisationCommand(new OrganisationWithChildren()
            {
                Created            = DateTime.Now,
                OrganisationName   = "s",
                Address            = "s",
                MainOrganisationId = 1,
                ZipCode            = "6700",
                City        = "es",
                Country     = "sad",
                Researchers = new List <ResearcherModel>()
                {
                    new ResearcherModel()
                }
            });

            var handler = new CreateOrganisationHandler(this._unitOfUnitMock.Object);
            var result  = await handler.Handle(command, new CancellationTokenSource().Token);

            Assert.Null(result);
        }
        public void Before_each_test()
        {
            _organisationId   = Guid.NewGuid();
            _repository       = new Mock <ICreateOrganisationRepository>();
            _eventsRepository = new Mock <IEventsRepository>();
            _repository.Setup(x => x.CreateOrganisation(It.IsAny <CreateOrganisationCommand>()))
            .ReturnsAsync(_organisationId);
            _duplicateCheckRepository = new Mock <IDuplicateCheckRepository>();
            _duplicateCheckRepository.Setup(x => x.DuplicateUKPRNExists(It.IsAny <Guid>(), It.IsAny <long>()))
            .ReturnsAsync(new DuplicateCheckResponse {
                DuplicateOrganisationName = "", DuplicateFound = false
            });
            _logger    = new Mock <ILogger <CreateOrganisationHandler> >();
            _mapper    = new MapCreateOrganisationRequestToCommand();
            _validator = new Mock <IOrganisationValidator>();
            _validator.Setup(x => x.IsValidOrganisationTypeId(It.IsAny <int>())).Returns(true);
            _validator.Setup(x => x.IsValidLegalName(It.IsAny <string>())).Returns(true);
            _validator.Setup(x => x.IsValidTradingName(It.IsAny <string>())).Returns(true);
            _validator.Setup(x => x.IsValidProviderTypeId(It.IsAny <int>())).Returns(true);
            _validator.Setup(x => x.IsValidOrganisationTypeId(It.IsAny <int>())).Returns(true);
            _validator.Setup(x => x.IsValidStatusId(It.IsAny <int>())).Returns(true);
            _validator.Setup(x => x.IsValidStatusDate(It.IsAny <DateTime>())).Returns(true);
            _validator.Setup(x => x.IsValidUKPRN(It.IsAny <long>())).Returns(true);
            _validator.Setup(x => x.IsValidCompanyNumber(It.IsAny <string>())).Returns(true);
            _validator.Setup(x => x.IsValidCharityNumber(It.IsAny <string>())).Returns(true);
            _validator.Setup(x => x.IsValidApplicationDeterminedDate(It.IsAny <DateTime?>())).Returns(true);
            _validator.Setup(x => x.DuplicateUkprnInAnotherOrganisation(It.IsAny <long>(), It.IsAny <Guid>()))
            .Returns(new DuplicateCheckResponse {
                DuplicateFound = false, DuplicateOrganisationName = ""
            });
            _validator.Setup(x => x.DuplicateCompanyNumberInAnotherOrganisation(It.IsAny <string>(), It.IsAny <Guid>()))
            .Returns(new DuplicateCheckResponse {
                DuplicateFound = false, DuplicateOrganisationName = ""
            });
            _validator.Setup(x => x.DuplicateCharityNumberInAnotherOrganisation(It.IsAny <string>(), It.IsAny <Guid>()))
            .Returns(new DuplicateCheckResponse {
                DuplicateFound = false, DuplicateOrganisationName = ""
            });
            _textSanitiser = new Mock <ITextSanitiser>();
            _textSanitiser.Setup(x => x.SanitiseInputText(It.IsAny <string>())).Returns <string>(x => x);

            _handler = new CreateOrganisationHandler(_repository.Object, _eventsRepository.Object, _logger.Object, _validator.Object, new ProviderTypeValidator(), _mapper, _textSanitiser.Object);

            _request = new CreateOrganisationRequest
            {
                LegalName          = "Legal Name",
                TradingName        = "TradingName",
                ProviderTypeId     = 1,
                OrganisationTypeId = 0,
                StatusDate         = DateTime.Now,
                Ukprn         = 10002000,
                CompanyNumber = "11223344",
                CharityNumber = "10000000",
                Username      = "******"
            };
        }
        public void Arrange()
        {
            MappingBootstrapper.Initialize();

            CreateContractRepositoryMock();
            CreateOrganisationRepositoryMock();

            var createOrganisationRequest = Builder <CreateOrganisationRequest> .CreateNew().Build();

            var organisationQueryRepository = CreateOrganisationQueryRepository();

            var createOrganisationHandler = new CreateOrganisationHandler(_organisationRepositoryMock.Object,
                                                                          organisationQueryRepository.Object,
                                                                          _contactRepositoryMock.Object);

            _result = createOrganisationHandler.Handle(createOrganisationRequest, new CancellationToken()).Result;
        }
        public void Arrange()
        {
            MappingBootstrapper.Initialize();

            _orgRepos          = new Mock <IOrganisationRepository>();
            _contactRepository = new Mock <IContactRepository>();

            var orgQueryRepos = new Mock <IOrganisationQueryRepository>();

            orgQueryRepos.Setup(r => r.GetByUkPrn(It.IsAny <long>())).ReturnsAsync(new Organisation()
            {
                Status = OrganisationStatus.Deleted,
                EndPointAssessorOrganisationId = "12345"
            });

            _orgRepos.Setup(r => r.UpdateOrganisation(It.IsAny <Organisation>()))
            .ReturnsAsync(new Organisation());

            _handler = new CreateOrganisationHandler(_orgRepos.Object,
                                                     orgQueryRepos.Object,
                                                     _contactRepository.Object);
        }