Exemplo n.º 1
0
        public void Setup()
        {
            _stubFileDto = new FileDto
            {
                Id         = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"),
                ItemId     = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"),
                Name       = "Stub file",
                Size       = 25424,
                Status     = Models.ViewModels.FileStatus.Uploading,
                Type       = "Image/PNG",
                UploadedBy = "Stub test",
                UploadedOn = DateTime.Now,
                UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"),
            };
            _stubFiles = new UploadFilesVm
            {
                Files = new System.Collections.Generic.List <FileMetadataVm>
                {
                    new FileMetadataVm
                    {
                        Name = "Stub file metadata",
                        Size = 1000,
                        Type = "Image/PNG"
                    }
                },
                ItemId     = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a2"),
                UploadedBy = "Stub tester",
                UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"),
            };
            _stubStatusUpdate = new UpdateStatusVm
            {
                Id     = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"),
                Status = FileStatus.Uploaded,
            };
            _stubAttachmentList = new List <AttachmentVm>
            {
                new AttachmentVm
                {
                    Id         = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"),
                    Name       = "Stub attachment",
                    Size       = 100,
                    Status     = FileStatus.Failed,
                    UploadedBy = "Stub tester",
                    UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"),
                    UploadedOn = DateTime.Now
                }
            };

            _mockAttachmentsRepository = new Mock <IAttachmentsRepository>();
            _attachmentsController     = new AttachmentsController(_mockAttachmentsRepository.Object);
        }
        public async Task <PreparedFileVm> PrepareFileUpload(UploadFilesVm files)
        {
            var preparedFiles = new List <FileVm>();

            foreach (var file in files.Files)
            {
                // create file dto
                var fileId       = Guid.NewGuid();
                var fileMetadata = new FileDto
                {
                    Id         = fileId,
                    ItemId     = files.ItemId,
                    Name       = file.Name,
                    Size       = file.Size,
                    Status     = FileStatus.Uploading,
                    Type       = file.Type,
                    UploadedBy = files.UploadedBy,
                    UploadedOn = DateTime.Now,
                    UploaderId = files.UploaderId
                };

                preparedFiles.Add(new FileVm
                {
                    Id   = fileId,
                    Name = file.Name,
                    Size = file.Size,
                    Type = file.Type
                });

                await _context.Attachments.AddAsync(fileMetadata);
            }
            await _context.SaveChangesAsync();

            var sas = await _blobStorageService.GetContainerSasUri("sas");

            return(new PreparedFileVm
            {
                Files = preparedFiles,
                SasToken = sas
            });
        }
 public void Setup()
 {
     _stubFileDto = new FileDto
     {
         Id         = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"),
         ItemId     = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"),
         Name       = "Stub file",
         Size       = 25424,
         Status     = Models.ViewModels.FileStatus.Uploading,
         Type       = "Image/PNG",
         UploadedBy = "Stub test",
         UploadedOn = DateTime.Now,
         UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"),
     };
     _stubFiles = new UploadFilesVm
     {
         Files = new System.Collections.Generic.List <FileMetadataVm>
         {
             new FileMetadataVm
             {
                 Name = "Stub file metadata",
                 Size = 1000,
                 Type = "Image/PNG"
             }
         },
         ItemId     = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a2"),
         UploadedBy = "Stub tester",
         UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"),
     };
     _stubStatusUpdate = new UpdateStatusVm
     {
         Id     = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"),
         Status = FileStatus.Uploaded,
     };
     _mockBlobStorageService = new Mock <IBlobStorageService>();
     _mockLogger             = new Mock <ILogger <AttachmentsRepository> >();
     _attachmentsRepository  = new AttachmentsRepository(GetInMemoryContextWithSeedData(), _mockBlobStorageService.Object, _mockLogger.Object);
 }
        public async Task <IActionResult> PrepareAttachments([FromBody] UploadFilesVm files)
        {
            var preparedAttachments = await _attachmentsRepository.PrepareFileUpload(files);

            return(Ok(preparedAttachments));
        }