コード例 #1
0
        public async Task PostAsync_Test()
        {
            var fileMock = new Mock <IFormFile>();
            var ms       = new MemoryStream();
            var writer   = new StreamWriter(ms);

            writer.Write("Mock file content");
            writer.Flush();
            ms.Position = 0;
            fileMock.Setup(x => x.OpenReadStream()).Returns(ms);
            fileMock.Setup(x => x.FileName).Returns("Test.pdf");
            fileMock.Setup(x => x.Length).Returns(ms.Length);
            fileMock.Setup(x => x.CopyToAsync(It.IsAny <Stream>(), It.IsAny <CancellationToken>()))
            .Returns((Stream stream, CancellationToken token) => ms.CopyToAsync(stream));

            var beforeCount = await _context.DmsFiles.CountAsync();

            var dmsFileService = new DmsFileService(_context);
            var dmsContorller  = new PdfController(dmsFileService);

            //Act
            var result = await dmsContorller.PostAsync(fileMock.Object) as ObjectResult;

            //Assert
            var afterCount = await _context.DmsFiles.CountAsync();

            Assert.IsInstanceOf <IActionResult>(result);
            Assert.IsTrue(afterCount - beforeCount == 1);
        }
コード例 #2
0
        public async Task AddFileAsync_Test(IFormFile mockFile, int expectedResultStatusCode, string expectedResultValue, bool fileCheckResult)
        {
            var mockFileService = new Mock <IDmsFileService>();

            mockFileService.Setup(x => x.CheckFileExistAsync(It.IsAny <string>()))
            .Returns(Task.FromResult <bool>(fileCheckResult))
            .Verifiable();

            mockFileService.Setup(x => x.AddFileAsync(It.IsAny <DmsFile>()))
            .Returns(Task.FromResult <int>(1))
            .Verifiable();

            var controller = new PdfController(mockFileService.Object);

            //Act
            var result = await controller.PostAsync(mockFile) as ObjectResult;

            //Assert
            Assert.IsInstanceOf <IActionResult>(result);
            Assert.AreEqual(expectedResultStatusCode, result.StatusCode);
            Assert.AreEqual(expectedResultValue, result.Value.ToString());
        }