using Moq; using ScadaLink.Commons.Entities.Instances; using ScadaLink.Commons.Entities.Scripts; using ScadaLink.Commons.Entities.Templates; using ScadaLink.Commons.Interfaces.Repositories; using ScadaLink.Commons.Interfaces.Services; using ScadaLink.Commons.Types.Enums; namespace ScadaLink.TemplateEngine.Tests; public class TemplateServiceTests { private readonly Mock _repoMock; private readonly Mock _auditMock; private readonly TemplateService _service; public TemplateServiceTests() { _repoMock = new Mock(); _auditMock = new Mock(); _repoMock.Setup(r => r.SaveChangesAsync(It.IsAny())).ReturnsAsync(1); _service = new TemplateService(_repoMock.Object, _auditMock.Object); } // ======================================================================== // WP-1: Template CRUD with Inheritance // ======================================================================== [Fact] public async Task CreateTemplate_Success() { var result = await _service.CreateTemplateAsync("Pump", "A pump template", null, "admin"); Assert.True(result.IsSuccess); Assert.Equal("Pump", result.Value.Name); _repoMock.Verify(r => r.AddTemplateAsync(It.IsAny