Files
2026-03-17 09:53:09 -05:00

45 lines
1.6 KiB
C#

using System;
using System.Threading.Tasks;
using LCU.API.Internal.Operations.IncentiveApi.DataAccess;
using LCU.API.Internal.Operations.IncentiveApi.Services.MicroApiServices;
using LCU.Library.Internal.Exceptions;
using Moq;
using NUnit.Framework;
namespace Application.UnitTests.Services.MicroApiServices
{
public class FileOperationsApiServiceTest
{
private FileOperationsApiService _fileOperationsApiService;
private Mock<IFileOperationsApiDao> _mockFileOperationsDao;
[SetUp]
public void Setup()
{
_mockFileOperationsDao = new Mock<IFileOperationsApiDao>();
_fileOperationsApiService = new FileOperationsApiService(_mockFileOperationsDao.Object);
}
[Test]
public async Task GetFileContent_ValidRequest_Success()
{
_mockFileOperationsDao.Setup(s => s.GetFileContent("filePath")).ReturnsAsync("fileContent");
var fileContent = await _fileOperationsApiService.GetFileContent("filePath");
_mockFileOperationsDao.Verify(s => s.GetFileContent("filePath"), Times.Once());
Assert.AreEqual("fileContent", fileContent);
}
[Test]
public void GetFileContent_DaoFails_ExceptionThrown()
{
_mockFileOperationsDao.Setup(s => s.GetFileContent("filePath")).ThrowsAsync(new Exception("Failure"));
Assert.ThrowsAsync<ServiceException>(async () => await _fileOperationsApiService.GetFileContent("filePath"));
_mockFileOperationsDao.Verify(s => s.GetFileContent("filePath"), Times.Once());
}
}
}