Exemple #1
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);
        }
        public async Task <Result> ValidateAsync(Organisation organisation)
        {
            if (organisation is null)
            {
                throw new ArgumentNullException(nameof(organisation));
            }

            var persistedOrganisation = await organisationRepository.GetByOdsCodeAsync(organisation.OdsCode);

            return(persistedOrganisation is null
                ? Result.Success()
                : Result.Failure(new List <ErrorDetails> {
                OrganisationErrors.OrganisationAlreadyExists()
            }));
        }