142 lines
4.3 KiB
C#
142 lines
4.3 KiB
C#
using e_suite.API.Common.exceptions;
|
|
using e_suite.Database.Core.Tables.CustomFields;
|
|
using e_suite.Database.Core.Tables.Forms;
|
|
using e_suite.Database.Core.Tables.Glossaries;
|
|
using e_suite.Modules.SpecificationManager.UnitTests.Helpers;
|
|
using eSuite.Core.Miscellaneous;
|
|
using NUnit.Framework;
|
|
|
|
namespace e_suite.Modules.SpecificationManager.UnitTests;
|
|
|
|
[TestFixture]
|
|
public class GetTemplateForPrintSpecUnitTests : SpecificationManagerTestBase
|
|
{
|
|
[SetUp]
|
|
public override async Task Setup()
|
|
{
|
|
await base.Setup();
|
|
}
|
|
|
|
[Test]
|
|
public void GetTemplateForPrint_WhenGlossaryNotFound_ThrowsException()
|
|
{
|
|
//Arrange
|
|
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Guid = new Guid("0285dfde-e130-4ed2-9c6b-64b139fb6477")
|
|
};
|
|
|
|
//Assert
|
|
var actualResult = Assert.ThrowsAsync<NotFoundException>(async () =>
|
|
{
|
|
//Act
|
|
var template = await SpecificationManager.GetTemplateForPrintSpec(generalIdRef, CancellationToken.None);
|
|
});
|
|
Assert.That(actualResult!.Message, Is.EqualTo("Template glossary item does not exist"));
|
|
}
|
|
|
|
[Test]
|
|
public void GetTemplateForPrint_WhenGlossaryNotDefinedProperly_ThrowsException()
|
|
{
|
|
//Arrange
|
|
|
|
var glossary = new Glossary()
|
|
{
|
|
Guid = new Guid("9929fec1-0fdb-4dd2-8a5d-4badc2e5a4b1")
|
|
};
|
|
GlossariesManagerRepository.Glossaries.Add(glossary);
|
|
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Guid = glossary.Guid
|
|
};
|
|
|
|
//Assert
|
|
var actualResult = Assert.ThrowsAsync<NotFoundException>(async () =>
|
|
{
|
|
//Act
|
|
var template = await SpecificationManager.GetTemplateForPrintSpec(generalIdRef, CancellationToken.None);
|
|
});
|
|
Assert.That(actualResult!.Message, Is.EqualTo("Glossary does not contain template reference"));
|
|
}
|
|
|
|
[Test]
|
|
public void GetTemplateForPrint_WhenTemplateNotFound_ThrowsException()
|
|
{
|
|
//Arrange
|
|
var glossary = new Glossary
|
|
{
|
|
Guid = new Guid("9929fec1-0fdb-4dd2-8a5d-4badc2e5a4b1"),
|
|
CustomFieldValues =
|
|
[
|
|
new()
|
|
{
|
|
CustomField = new CustomField
|
|
{
|
|
Guid = new Guid("{8D910089-3079-4A29-ABAD-8DDF82DB6DBB}")
|
|
},
|
|
Value = new Guid("065b2e4d-e324-4f0d-bec0-8e3a738b8ada").ToString()
|
|
}
|
|
]
|
|
};
|
|
GlossariesManagerRepository.Glossaries.Add(glossary);
|
|
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Guid = glossary.Guid
|
|
};
|
|
|
|
//Assert
|
|
var actualResult = Assert.ThrowsAsync<NotFoundException>(async () =>
|
|
{
|
|
//Act
|
|
var template = await SpecificationManager.GetTemplateForPrintSpec(generalIdRef, CancellationToken.None);
|
|
});
|
|
Assert.That(actualResult!.Message, Is.EqualTo("Template does not exist"));
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetTemplateForPrint_WhenTemplateFound_ReturnsTemplateGeneralIdRef()
|
|
{
|
|
//Arrange
|
|
var formTemplateGuid = new Guid("ab75d0f6-f018-468b-80a4-fb696228124b");
|
|
|
|
var glossary = new Glossary
|
|
{
|
|
Guid = new Guid("9929fec1-0fdb-4dd2-8a5d-4badc2e5a4b1"),
|
|
CustomFieldValues =
|
|
[
|
|
new()
|
|
{
|
|
CustomField = new CustomField
|
|
{
|
|
Guid = new Guid("{8D910089-3079-4A29-ABAD-8DDF82DB6DBB}")
|
|
},
|
|
Value = formTemplateGuid.ToString()
|
|
}
|
|
]
|
|
};
|
|
GlossariesManagerRepository.Glossaries.Add(glossary);
|
|
|
|
var formTemplate = new FormTemplate
|
|
{
|
|
Guid = formTemplateGuid,
|
|
Id = 872364
|
|
};
|
|
FormRepository.FormTemplates.Add(formTemplate);
|
|
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Guid = glossary.Guid
|
|
};
|
|
|
|
//Act
|
|
var template = await SpecificationManager.GetTemplateForPrintSpec(generalIdRef, CancellationToken.None);
|
|
|
|
//Assert
|
|
Assert.That(template, Is.Not.Null);
|
|
Assert.That(template!.Guid, Is.EqualTo(formTemplateGuid));
|
|
Assert.That(template.Id, Is.EqualTo(formTemplate.Id));
|
|
}
|
|
} |