154 lines
5.7 KiB
C#
154 lines
5.7 KiB
C#
using e_suite.Database.Core.Tables.Glossaries;
|
|
using e_suite.Database.Core.Tables.Sequences;
|
|
using eSuite.Core.CustomFields;
|
|
|
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
|
|
|
[TestFixture]
|
|
public class TranslateToCustomFieldDefinitionAsyncUnitTests : CustomFieldsTestBase<object>
|
|
{
|
|
[SetUp]
|
|
public override async Task Setup() => await base.Setup();
|
|
|
|
[Test]
|
|
public async Task TranslateToCustomFieldDefinitionAsync_FieldTypeGlossary_ReturnsCorrectInformation()
|
|
{
|
|
//Arrange
|
|
var customField = new CustomField
|
|
{
|
|
FieldType = FieldType.Glossary,
|
|
Id = 42,
|
|
Guid = new Guid("1dda3a6f-24cf-4904-9dbe-1394457e871c"),
|
|
Name = "TestField",
|
|
MinEntries = 0,
|
|
MaxEntries = 1
|
|
};
|
|
|
|
var glossaryItem = new Glossary
|
|
{
|
|
Id = 34,
|
|
Guid = new Guid("a4e32489-42be-4e71-9198-4740e01e1e56")
|
|
};
|
|
|
|
_fakeCustomFieldReferenceRepository.CustomFieldGlossaries.Add(new CustomFieldGlossary
|
|
{
|
|
CustomField = customField,
|
|
CustomFieldId = customField.Id,
|
|
Glossary = glossaryItem,
|
|
GlossaryId = glossaryItem.Id,
|
|
}
|
|
);
|
|
|
|
_fakeCustomFieldReferenceRepository.Glossaries.Add(glossaryItem);
|
|
|
|
//Act
|
|
var result = await _customFieldHelper.TranslateToCustomFieldDefinitionAsync(customField, CancellationToken.None);
|
|
|
|
//Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(result, Is.Not.Null);
|
|
Assert.That(result.FieldType, Is.EqualTo(FieldType.Glossary));
|
|
Assert.That(result.Id, Is.EqualTo(42));
|
|
Assert.That(result.Guid, Is.EqualTo(new Guid("1dda3a6f-24cf-4904-9dbe-1394457e871c")));
|
|
Assert.That(result.Name, Is.EqualTo("TestField"));
|
|
Assert.That(result.MinEntries, Is.EqualTo(0));
|
|
Assert.That(result.MaxEntries, Is.EqualTo(1));
|
|
Assert.That(result.RefElementId, Is.Not.Null);
|
|
Assert.That(result.RefElementId!.Id, Is.EqualTo(34));
|
|
Assert.That(result.RefElementId!.Guid, Is.EqualTo(new Guid("a4e32489-42be-4e71-9198-4740e01e1e56")));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public async Task TranslateToCustomFieldDefinitionAsync_FieldTypeSequence_ReturnsCorrectInformation()
|
|
{
|
|
//Arrange
|
|
var customField = new CustomField
|
|
{
|
|
FieldType = FieldType.Sequence,
|
|
Id = 83,
|
|
Guid = new Guid("8d8b56f6-df96-4f9a-b94f-51a45d14f5af"),
|
|
Name = "TestSequenceField",
|
|
MinEntries = 0,
|
|
MaxEntries = 1
|
|
};
|
|
|
|
var sequenceItem = new Sequence
|
|
{
|
|
Id = 69,
|
|
Guid = new Guid("73ffc36c-6479-4f6e-afa7-4d65f35d8d20")
|
|
};
|
|
|
|
_fakeCustomFieldReferenceRepository.CustomFieldSequences.Add(new CustomFieldSequence
|
|
{
|
|
CustomField = customField,
|
|
CustomFieldId = customField.Id,
|
|
Sequence = sequenceItem,
|
|
SequenceId = sequenceItem.Id,
|
|
}
|
|
);
|
|
|
|
_fakeCustomFieldReferenceRepository.Sequences.Add(sequenceItem);
|
|
|
|
//Act
|
|
var result = await _customFieldHelper.TranslateToCustomFieldDefinitionAsync(customField, CancellationToken.None);
|
|
|
|
//Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(result, Is.Not.Null);
|
|
Assert.That(result.FieldType, Is.EqualTo(FieldType.Sequence));
|
|
Assert.That(result.Id, Is.EqualTo(83));
|
|
Assert.That(result.Guid, Is.EqualTo(new Guid("8d8b56f6-df96-4f9a-b94f-51a45d14f5af")));
|
|
Assert.That(result.Name, Is.EqualTo("TestSequenceField"));
|
|
Assert.That(result.MinEntries, Is.EqualTo(0));
|
|
Assert.That(result.MaxEntries, Is.EqualTo(1));
|
|
Assert.That(result.RefElementId, Is.Not.Null);
|
|
Assert.That(result.RefElementId!.Id, Is.EqualTo(69));
|
|
Assert.That(result.RefElementId!.Guid, Is.EqualTo(new Guid("73ffc36c-6479-4f6e-afa7-4d65f35d8d20")));
|
|
});
|
|
}
|
|
|
|
|
|
[Test]
|
|
public async Task TranslateToCustomFieldDefinitionAsync_FieldTypeNumber_ReturnsCorrectInformation()
|
|
{
|
|
//Arrange
|
|
var customField = new CustomField
|
|
{
|
|
FieldType = FieldType.Number,
|
|
Id = 83,
|
|
Guid = new Guid("f0175809-0b4e-4fe2-8fd1-c2bd9949b546"),
|
|
Name = "TestNumberField",
|
|
MinEntries = 0,
|
|
MaxEntries = 1
|
|
};
|
|
|
|
_fakeCustomFieldReferenceRepository.CustomFieldNumber.Add( new CustomFieldNumber
|
|
{
|
|
CustomFieldId = customField.Id,
|
|
CustomField = customField,
|
|
MinimumValue = 10,
|
|
MaximumValue = 100,
|
|
Step = 5
|
|
});
|
|
|
|
//Act
|
|
var result = await _customFieldHelper.TranslateToCustomFieldDefinitionAsync(customField, CancellationToken.None);
|
|
|
|
//Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(result, Is.Not.Null);
|
|
Assert.That(result.FieldType, Is.EqualTo(FieldType.Number));
|
|
Assert.That(result.Id, Is.EqualTo(83));
|
|
Assert.That(result.Guid, Is.EqualTo(customField.Guid));
|
|
Assert.That(result.Name, Is.EqualTo(customField.Name));
|
|
Assert.That(result.MinEntries, Is.EqualTo(0));
|
|
Assert.That(result.MaxEntries, Is.EqualTo(1));
|
|
Assert.That(result.RefElementId, Is.Null);
|
|
Assert.That(result.Parameters, Is.EqualTo("{\"minValue\":\"1\",\"maxValue\":\"1\",\"step\":\"5\"}"));
|
|
});
|
|
}
|
|
} |