using AsbCloudApp.Data; using AsbCloudApp.Services; using AsbCloudDb.Model; using AsbCloudInfrastructure.Services; using Microsoft.Extensions.Configuration; using Moq; using System.Threading; using System.Threading.Tasks; using Xunit; using System.IO; using System.Collections.Generic; using System.Linq; namespace AsbCloudWebApi.Tests.ServicesTests { public class WellFinalDocumentsServiceTest { private readonly AsbCloudDbContext context; private WellFinalDocumentsService service; private readonly Mock<IFileService> fileServiceMock; private readonly Mock<IUserService> userServiceMock; private readonly Mock<IWellService> wellServiceMock; private readonly Mock<IConfiguration> configurationMock; private readonly Mock<IEmailService> emailServiceMock; private readonly Mock<IFileCategoryService> fileCategoryService; private readonly IEnumerable<UserDto> users = new List<UserDto> { new UserDto { Id = 1, IdCompany = 1, Name = "test", Email = "test@test.com" }, new UserDto { Id = 3, IdCompany = 1, Name = "test1", Email = "test1@test1.com" } }; public WellFinalDocumentsServiceTest() { context = TestHelpter.MakeTestContext(); context.SaveChanges(); fileServiceMock = new Mock<IFileService>(); userServiceMock = new Mock<IUserService>(); userServiceMock.Setup(x => x.GetAllAsync(CancellationToken.None)).Returns(Task.Run(() => users.Select(x => (UserExtendedDto)x))); wellServiceMock = new Mock<IWellService>(); configurationMock = new Mock<IConfiguration>(); emailServiceMock = new Mock<IEmailService>(); fileCategoryService = new Mock<IFileCategoryService>(); service = new WellFinalDocumentsService( context: context, fileService: fileServiceMock.Object, userService: userServiceMock.Object, wellService: wellServiceMock.Object, configuration: configurationMock.Object, emailService: emailServiceMock.Object, fileCategoryService: fileCategoryService.Object); } ~WellFinalDocumentsServiceTest() { } [Fact] public async Task GetWellFinalDocument_return_collection_rows() { var data = await service.GetByWellId(90, 1,CancellationToken.None); Assert.NotNull(data); } [Fact] public async Task GetListResponsibles_return_cnt_users() { var data = await service.GetAvailableUsersAsync(90, CancellationToken.None); Assert.NotNull(data); } [Fact] public async Task GetHistoryFileByIdCategory_return_data_hitory() { var data = await service.GetFilesHistoryByIdCategory(90, 10018, CancellationToken.None); Assert.NotNull(data); } [Fact] public async Task SaveCategoryFile_return_id_edit_record() { var stream = new FileStream("D:\\test\\test.txt", FileMode.Open); var data = await service.SaveCategoryFile(21, 10018, 78, stream, "test.txt", CancellationToken.None); Assert.Equal(21, data); } } }