Exemple #1
0
        public void GivenNullMediaDto_ThenThrowsArgumentNullException()
        {
            var givenFormFile = FormFileFactory.Create("filename1234", "file content");

            Action act = () => FileUploadCommand.Create(givenFormFile, null, SampleAuthorId);

            act.Should().Throw <ArgumentNullException>();
        }
        public void GivenMediaChangeIsSavedInDatabase_MediaChangeIsOfTypeCreate()
        {
            var givenFormFile = FormFileFactory.Create("newFile", string.Empty);
            var givenTags     = new[] { "pigeons", "flying rats" };
            var givenMediaDto = new FileUploadDto(givenTags, _givenDate, false);
            var givenUserId   = "user";

            var command = FileUploadCommand.Create(givenFormFile, givenMediaDto, givenUserId);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaChanges.Should().ContainSingle(mc => mc.Type == MediaChangeType.Create);
        }
        public async Task can_convert_form_file_to_byte_array()
        {
            var originalBytes = Enumerable
                                .Repeat((byte)1, 100)
                                .ToArray();

            var formFile = FormFileFactory.CreateFromByteArray(originalBytes);

            // when

            var resultBytes = await formFile.ToByteArray();

            // then

            resultBytes.Should().Equal(originalBytes);
        }
        public void GivenMediaWithEmptyTagCollection_MediaIsCreatedWithoutTags()
        {
            var givenFileName    = "newFile";
            var givenFileContent = "None";
            var givenFormFile    = FormFileFactory.Create(givenFileName, givenFileContent);
            var givenTags        = new string[] {};
            var givenMediaDto    = new FileUploadDto(givenTags, _givenDate, false);

            var command = FileUploadCommand.Create(givenFormFile, givenMediaDto, string.Empty);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaInstances.Find(_givenMediaInstanceId).MediaTags.Should().BeEmpty();
        }
        public void GivenNewMediaIsUploadedSuccessfully_MediaIsCreatedInDatabase()
        {
            var givenFileName    = "newFile";
            var givenFileContent = "None";
            var givenFormFile    = FormFileFactory.Create(givenFileName, givenFileContent);
            var givenTags        = new[] { "pigeons", "flying rats" };
            var givenMediaDto    = new FileUploadDto(givenTags, _givenDate, false);

            var command = FileUploadCommand.Create(givenFormFile, givenMediaDto, string.Empty);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaInstances.Find(_givenMediaInstanceId).Should().NotBeNull();
        }
        public void GivenMediaWithSingleDotAtFileNameEnd_DataTypeIsEmptyString()
        {
            var givenFileName    = "newFile.";
            var givenFileContent = "None";
            var givenFormFile    = FormFileFactory.Create(givenFileName, givenFileContent);
            var givenTags        = new[] { "pigeons", "flying rats" };
            var givenMediaDto    = new FileUploadDto(givenTags, _givenDate, false);

            var command = FileUploadCommand.Create(givenFormFile, givenMediaDto, string.Empty);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaInstances.Find(_givenMediaInstanceId).DataType.Should().BeEmpty();
        }
        public void GivenMediaWithNewTag_NewTagIsCreatedInDatabase()
        {
            var givenFileName    = "newFile";
            var givenFileContent = "None";
            var formFile         = FormFileFactory.Create(givenFileName, givenFileContent);
            var givenTag         = "pigeons";
            var givenTags        = new[] { givenTag };
            var givenMediaDto    = new FileUploadDto(givenTags, _givenDate, false);

            var command = FileUploadCommand.Create(formFile, givenMediaDto, string.Empty);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.Tags.Should().ContainSingle(t => t.Name == givenTag);
        }
        public void GivenMediaWithValidExtension_DataTypeIsEqualToFileExtension()
        {
            var givenFileName    = "newFile";
            var givenExtension   = "png";
            var givenFileContent = "None";
            var givenFormFile    = FormFileFactory.Create(givenFileName + "." + givenExtension, givenFileContent);
            var givenTags        = new[] { "pigeons", "flying rats" };
            var givenMediaDto    = new FileUploadDto(givenTags, _givenDate, false);

            var command = FileUploadCommand.Create(givenFormFile, givenMediaDto, string.Empty);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaInstances.Find(_givenMediaInstanceId).DataType.Should().BeEquivalentTo(givenExtension);
        }
        public void GivenThatFileWithGivenIdAlreadyExists_MediaIsCreatedWithDifferentId()
        {
            var givenFileName    = "newFile";
            var givenFileContent = "None";
            var givenFormFile    = FormFileFactory.Create(givenFileName, givenFileContent);
            var givenTags        = new [] { "pigeons", "flying rats" };
            var givenMediaDto    = new FileUploadDto(givenTags, _givenDate, false);

            _fileStorageMock.CreateNew(_givenMediaInstanceId);

            var command = FileUploadCommand.Create(givenFormFile, givenMediaDto, string.Empty);
            var handler = new FileUploadCommandHandler(_fileStorageMock, _contextMock,
                                                       _mediaIdProviderMock.Object, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            var streamContent = GetFileContent(_fileStorageMock.Read(_givenAlternativeMediaInstanceId));

            streamContent.Should().BeEquivalentTo(givenFileContent);
        }
Exemple #10
0
 public DocumentServiceTests()
 {
     _dbContext       = MainDbContextFactory.Create();
     _documentService = new DocumentService(_dbContext);
     _fileMock        = new FormFileFactory();
 }