public void Validate_Succeeds_WhenAttachmentDoesNotExist() { var command = new UploadAttachmentCommand(1, "newfile.txt", false, new MemoryStream()); var result = _dut.Validate(command); Assert.IsTrue(result.IsValid); }
public async Task AddingExistingFileToDatabase_WithOverwrite_Succeeds() { var command = new UploadAttachmentCommand(1, "ExistingFile.txt", true, new MemoryStream()); var result = await _dut.Handle(command, default); Assert.AreEqual(ResultType.Ok, result.ResultType); Assert.AreEqual(1, _invitation.Attachments.Count); _blobStorageMock.Verify(x => x.UploadAsync(It.IsAny <string>(), It.IsAny <Stream>(), true, default), Times.Once); }
public void Validate_Fails_WhenFileNameIsTooLong() { var command = new UploadAttachmentCommand(1, new string('a', 252) + ".txt", false, new MemoryStream()); var result = _dut.Validate(command); Assert.IsFalse(result.IsValid); Assert.AreEqual(1, result.Errors.Count); Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Filename too long!")); }
public void Validate_Fails_WhenFileNameIsNotGiven() { var command = new UploadAttachmentCommand(1, string.Empty, false, new MemoryStream()); var result = _dut.Validate(command); Assert.IsFalse(result.IsValid); Assert.AreEqual(1, result.Errors.Count); Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Filename not given!")); }
public void Validate_Fails_WhenAttachmentExists() { var command = new UploadAttachmentCommand(1, "existingfile.txt", false, new MemoryStream()); var result = _dut.Validate(command); Assert.IsFalse(result.IsValid); Assert.AreEqual(1, result.Errors.Count); Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Invitation already has an attachment with filename")); }
public void Validate_Fails_WhenInvitationDoesNotExist() { var command = new UploadAttachmentCommand(-1, "newfile.txt", false, new MemoryStream()); var result = _dut.Validate(command); Assert.IsFalse(result.IsValid); Assert.AreEqual(1, result.Errors.Count); Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Invitation with this ID does not exist")); }
public void Cosntructor_SetsProperties() { var stream = new MemoryStream(); var dut = new UploadAttachmentCommand(1, "FileName.txt", true, stream); Assert.AreEqual(1, dut.InvitationId); Assert.AreEqual("FileName.txt", dut.FileName); Assert.AreEqual(true, dut.OverWriteIfExists); Assert.AreEqual(stream, dut.Content); }
public void Validate_Fails_WhenAttachmentIsTooLarge() { var data = new byte[2 * 1024 * 1024]; var command = new UploadAttachmentCommand(1, "newfile.txt", false, new MemoryStream(data)); var result = _dut.Validate(command); Assert.IsFalse(result.IsValid); Assert.AreEqual(1, result.Errors.Count); Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Maximum file size is")); }
public async Task ValidateAsync_OnUploadAttachmentCommand_ShouldReturnFalse_WhenNoAccessToProject() { // Arrange var command = new UploadAttachmentCommand( _invitationIdWithoutAccessToProject, null, true, null); // act var result = await _dut.ValidateAsync(command); // Assert Assert.IsFalse(result); }
public async Task <ActionResult <int> > UploadAttachment( [FromHeader(Name = CurrentPlantMiddleware.PlantHeader)] [Required] [StringLength(PlantEntityBase.PlantLengthMax, MinimumLength = PlantEntityBase.PlantLengthMin)] string plant, [FromRoute] int id, [FromForm] UploadAttachmentDto dto) { await using var stream = dto.File.OpenReadStream(); var command = new UploadAttachmentCommand( id, dto.File.FileName, dto.OverwriteIfExists, stream); var result = await _mediator.Send(command); return(this.FromResult(result)); }