Backend/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/CustomFieldManagerUnitTests/GetCustomByIdFieldUnitTest.cs
2026-01-20 21:50:10 +00:00

119 lines
3.8 KiB
C#

using e_suite.API.Common.exceptions;
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
public class GetCustomByIdFieldUnitTest : CustomFieldsTestBase
{
[SetUp]
public override async Task Setup()
{
await base.Setup();
}
[Test]
public async Task GetCustomField_GuidIdOnly_ReturnsCustomField()
{
var guid = Guid.NewGuid();
var customField = new CustomField
{
FieldType = eSuite.Core.CustomFields.FieldType.Text,
Deleted = false,
DefaultValue = "testtt",
Guid = guid,
Id = 15,
Name = "testtName"
};
_fakeCustomFieldRepository.CustomFields.Add(customField);
var idGetCustomIdField = new GeneralIdRef
{
Guid = guid,
Id = null
};
var res = await _customFieldManager.GetFieldAsync(idGetCustomIdField, default);
Assert.Multiple(() =>
{
Assert.That(res, Is.Not.Null);
Assert.That(res.Name, Is.EqualTo("testtName"));
Assert.That(res.FieldType, Is.EqualTo(eSuite.Core.CustomFields.FieldType.Text));
});
}
[Test]
public async Task GetCustomField_IdOnly_ReturnsCustomField()
{
var guid = Guid.NewGuid();
var id = 15;
var customField = new CustomField
{
FieldType = eSuite.Core.CustomFields.FieldType.Text,
Deleted = false,
DefaultValue = "TT",
Guid = guid,
Id = 15,
Name = "Second"
};
var idGetCustomIdField = new GeneralIdRef
{
Guid = null,
Id = id
};
_fakeCustomFieldRepository.CustomFields.Add(customField);
var res = await _customFieldManager.GetFieldAsync(idGetCustomIdField, default);
Assert.Multiple(() =>
{
Assert.That(res, Is.Not.Null);
Assert.That(res.DefaultValue, Is.EqualTo("TT"));
Assert.That(res.Guid, Is.EqualTo(guid));
});
}
[Test]
public void GetCustomField_WhenDeletedIsTrue_ThrowsFieldNotFoundException()
{
var guid = Guid.NewGuid();
var id = 15;
var customField = new CustomField
{
FieldType = eSuite.Core.CustomFields.FieldType.Text,
Deleted = true,
DefaultValue = "TT",
Guid = guid,
Id = id,
Name = "Second"
};
var idGetCustomIdField = new GeneralIdRef
{
Guid = guid,
Id = null
};
_customFieldRepository.Setup(r => r.GetByIdAsync(It.Is<IGeneralIdRef>(x => x.Guid == guid),It.IsAny<CancellationToken>())).ReturnsAsync(customField);
Assert.ThrowsAsync<NotFoundException>(() => _customFieldManager.GetFieldAsync(idGetCustomIdField, default));
}
[Test]
public void GetCustomField_NullValuesForFullId_ThrowsFieldNotFoundException()
{
var guid = Guid.NewGuid();
var id = 15;
var customField = new CustomField
{
FieldType = eSuite.Core.CustomFields.FieldType.Text,
Deleted = true,
DefaultValue = "TT",
Guid = guid,
Id = id,
Name = "Second"
};
var idGetCustomIdField = new GeneralIdRef
{
Guid = null,
Id = null
};
_customFieldRepository.Setup(r => r.GetByIdAsync(It.Is<IGeneralIdRef>(x => x.Id != null || x.Guid != null), It.IsAny<CancellationToken>())).ReturnsAsync(customField);
Assert.ThrowsAsync<NotFoundException>(() => _customFieldManager.GetFieldAsync(idGetCustomIdField,default));
}
}