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() })); }