public async Task ValidateSubjectName_SubjectNameContainsSpecialCharacters()
        {
            var(subjectService, fileTypeService) = Mocks();

            await using (var context = InMemoryApplicationDbContext())
            {
                var service = new FileUploadsValidatorService(subjectService.Object, fileTypeService.Object, context);

                var result = await service.ValidateSubjectName(Guid.NewGuid(), "Subject & Title");

                Assert.True(result.IsLeft);
                AssertValidationProblem(result.Left, SubjectTitleCannotContainSpecialCharacters);
            }
        }
        public async Task ValidateSubjectName_SubjectNameNotUnique()
        {
            var(subjectService, fileTypeService) = Mocks();

            subjectService.Setup(service => service.Get(It.IsAny <Guid>(), "Subject Title"))
            .ReturnsAsync(new Subject());

            await using (var context = InMemoryApplicationDbContext())
            {
                var service = new FileUploadsValidatorService(subjectService.Object, fileTypeService.Object, context);

                var result = await service.ValidateSubjectName(Guid.NewGuid(), "Subject Title");

                Assert.True(result.IsLeft);
                AssertValidationProblem(result.Left, SubjectTitleMustBeUnique);
            }
        }