Files
monorepo/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/Repository/DnaAuditProcessRepositoryTest.cs
T
2026-03-31 16:43:12 -05:00

77 lines
2.7 KiB
C#

using LCU.API.Internal.MemberPreferencesApi.Services;
using LCU.Library.Internal.MemberPreferencesApiModels.Entities;
using LCU.Library.Internal.MemberPreferencesApiModels.Enums;
using Infrastructure.Services;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Moq;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LCU.API.Internal.MemberPreferencesApiLib.Persistence;
using LCU.API.Internal.MemberPreferencesApiLib.Repositories;
namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Repository
{
public class DnaAuditProcessRepositoryTest
{
private ApplicationDbContext _context;
private DnaAuditProcessRepository _repository;
[SetUp]
public void Setup()
{
var mockDateTime = new DateTimeService();
var options = new DbContextOptionsBuilder<ApplicationDbContext>()
.UseInMemoryDatabase(Guid.NewGuid().ToString())
.EnableSensitiveDataLogging()
.Options;
_context = new ApplicationDbContext(options);
_repository = new DnaAuditProcessRepository(_context);
}
[Test]
public async Task Basic_Flow_Test()
{
var saved = await _repository.GetAllDnaAuditProcesses();
Assert.NotNull(saved);
Assert.IsEmpty(saved);
var dnaProcess = new DnaAuditProcess()
{
ProcessId = 1,
DnaProcessType = DnaAuditProcessType.DNAAccounts,
LastUpdated = DateTime.Now,
ConsecutiveFailures = 2
};
await _context.AddAsync(dnaProcess);
await _context.SaveChangesAsync();
saved = await _repository.GetAllDnaAuditProcesses();
Assert.NotNull(saved);
Assert.IsNotEmpty(saved);
var first = saved.First();
Assert.AreEqual(first.ConsecutiveFailures, 2);
Assert.AreEqual(first.DnaProcessType, DnaAuditProcessType.DNAAccounts);
Assert.AreEqual(first.ProcessId, 1);
dnaProcess.DnaProcessType = DnaAuditProcessType.DNAOrganization;
dnaProcess.ConsecutiveFailures = 0;
await _repository.Update(dnaProcess);
saved = await _repository.GetAllDnaAuditProcesses();
Assert.NotNull(saved);
Assert.IsNotEmpty(saved);
first = saved.First();
Assert.AreEqual(first.ConsecutiveFailures, 0);
Assert.AreEqual(first.DnaProcessType, DnaAuditProcessType.DNAOrganization);
Assert.AreEqual(first.ProcessId, 1);
}
}
}