using Dapper; using Dapper.Contrib.Extensions; using FabApprovalWorkerService.Models; using FabApprovalWorkerService.Services; using Microsoft.Extensions.Logging; using Moq; using Moq.Dapper; using System.Data; namespace FabApprovalWorkerServiceTests; public class UserServiceTests { private static readonly ILogger MOCK_LOGGER = Mock.Of>(); private static readonly IEnumerable MOCK_USERS = new List() { new User() { UserID = 1, LoginID = "fred", FirstName = "fred", LastName = "flintstone", Email = "fred.flintstone@email.com", IsAdmin = true, OOO = false, CanViewITAR = true, IsManager = false }, new User() { UserID = 1, LoginID = "barney", FirstName = "barney", LastName = "rubble", Email = "barney.rubble@email.com", IsAdmin = false, OOO = false, CanViewITAR = true, IsManager = false } }; Mock _mockDalService; public UserService _userService; [SetUp] public void Setup() { _mockDalService = new Mock(); _mockDalService.Setup(d => d.QueryAsync(It.IsAny())).Returns(Task.FromResult(MOCK_USERS)); _mockDalService.Setup(d => d.UpdateAsync(It.IsAny>())).Returns(Task.FromResult(true)); _userService = new UserService(MOCK_LOGGER, _mockDalService.Object); } [Test] public async Task GetAllUsersShouldReturnMockUsers() { Dictionary users = await _userService.GetAllUsers(); Assert.True(users.Count() == 2); } [Test] public async Task UpdateUserCertificationDataShouldReturnTrue() { bool result = await _userService.UpdateUserCertificationData(MOCK_USERS.ToList()); Assert.True(result); } }