using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Moq; using PowderCoating.Application.Interfaces; using PowderCoating.Core.Entities; using PowderCoating.Core.Enums; using PowderCoating.Infrastructure.Data; using PowderCoating.Shared.Constants; using PowderCoating.Web.Controllers; namespace PowderCoating.UnitTests; public class EmailBroadcastControllerTests { [Fact] public async Task Preview_RendersMergedSampleAndSanitizesHtml() { await using var context = CreateContext(); context.Companies.Add(new Company { Id = 7, CompanyId = 7, CompanyName = "River City Powder", PrimaryContactName = "Jamie Rivera", PrimaryContactEmail = "jamie@example.com", IsActive = true }); context.Users.Add(new ApplicationUser { Id = "admin-7", CompanyId = 7, CompanyRole = AppConstants.CompanyRoles.CompanyAdmin, FirstName = "Alex", LastName = "Admin", Email = "alex@example.com", UserName = "alex@example.com", IsActive = true }); await context.SaveChangesAsync(); var controller = CreateController(context); var result = await controller.Preview(new AdminEmailSelectionModel { Subject = "Update for {{CompanyName}}", BodyHtml = "
Hi {{FirstName}}, contact {{CompanyAdminName}} at {{CompanyAdminEmail}}.
", CompanyIds = [7] }); var view = Assert.IsType