242 lines
5.6 KiB
C#
242 lines
5.6 KiB
C#
using e_suite.Database.Core.Extensions;
|
|
using e_suite.Database.Core.Extensions.Exceptions;
|
|
using e_suite.Database.Core.UnitTests.Models;
|
|
using eSuite.Core.Miscellaneous;
|
|
using NUnit.Framework;
|
|
|
|
namespace e_suite.Database.Core.UnitTests;
|
|
|
|
[TestFixture]
|
|
public class QueryableExtensionsUnitTests
|
|
{
|
|
[Test]
|
|
public void FindByGeneralIdRef_IdNotFound_ReturnsNull()
|
|
{
|
|
//Arrange
|
|
var items = new List<TestCargo>
|
|
{
|
|
new()
|
|
{
|
|
Id = 1,
|
|
Guid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}"),
|
|
Name = "Test Item"
|
|
}
|
|
};
|
|
|
|
//Act
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Id = 100
|
|
};
|
|
|
|
var result = items.FindByGeneralIdRef(generalIdRef);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.Null);
|
|
}
|
|
|
|
[Test]
|
|
public void FindByGeneralIdRef_IdFound_ReturnsExpectedValue()
|
|
{
|
|
//Arrange
|
|
var keyId = 1;
|
|
var keyGuid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}");
|
|
|
|
var testItem = new TestCargo()
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid,
|
|
Name = "Test Item"
|
|
};
|
|
|
|
var items = new List<TestCargo>
|
|
{
|
|
testItem
|
|
};
|
|
|
|
//Act
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Id = keyId
|
|
};
|
|
|
|
var result = items.FindByGeneralIdRef(generalIdRef);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.EqualTo(testItem));
|
|
}
|
|
|
|
[Test]
|
|
public void FindByGeneralIdRef_GuidFound_ReturnsExpectedValue()
|
|
{
|
|
//Arrange
|
|
var keyId = 1;
|
|
var keyGuid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}");
|
|
|
|
var testItem = new TestCargo()
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid,
|
|
Name = "Test Item"
|
|
};
|
|
|
|
var items = new List<TestCargo>
|
|
{
|
|
testItem
|
|
};
|
|
|
|
//Act
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Guid = keyGuid
|
|
};
|
|
|
|
var result = items.FindByGeneralIdRef(generalIdRef);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.EqualTo(testItem));
|
|
}
|
|
|
|
[Test]
|
|
public void FindByGeneralIdRef_IdAndGuid_ReturnsExpectedValue()
|
|
{
|
|
//Arrange
|
|
var keyId = 1;
|
|
var keyGuid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}");
|
|
|
|
var testItem = new TestCargo()
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid,
|
|
Name = "Test Item"
|
|
};
|
|
|
|
var items = new List<TestCargo>
|
|
{
|
|
testItem
|
|
};
|
|
|
|
//Act
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid
|
|
};
|
|
|
|
var result = items.FindByGeneralIdRef(generalIdRef);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.EqualTo(testItem));
|
|
}
|
|
|
|
[Test]
|
|
public void FindByGeneralIdRef_WrongIdAndCorrectGuid_ReturnsNullWhenIdDoesNotExist()
|
|
{
|
|
//Arrange
|
|
var keyId = 1;
|
|
var keyGuid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}");
|
|
|
|
var testItem = new TestCargo()
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid,
|
|
Name = "Test Item"
|
|
};
|
|
|
|
var items = new List<TestCargo>
|
|
{
|
|
testItem
|
|
};
|
|
|
|
//Act
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Id = keyId + 1,
|
|
Guid = keyGuid
|
|
};
|
|
|
|
var result = items.FindByGeneralIdRef(generalIdRef);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.Null);
|
|
}
|
|
|
|
[Test]
|
|
public void FindByGeneralIdRef_CorrectIdAndWrongGuid_ThrowsExpectedException()
|
|
{
|
|
//Arrange
|
|
var keyId = 1;
|
|
var keyGuid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}");
|
|
var wrongGuid = new Guid("{C3BC5BAC-39F9-40B8-A191-0F25CD366FE4}");
|
|
|
|
var testItem = new TestCargo
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid,
|
|
Name = "Test Item"
|
|
};
|
|
|
|
var items = new List<TestCargo>
|
|
{
|
|
testItem
|
|
};
|
|
|
|
//Act and Assert
|
|
var generalIdRef = new GeneralIdRef
|
|
{
|
|
Id = keyId,
|
|
Guid = wrongGuid
|
|
};
|
|
|
|
var result = Assert.Throws<GuidMismatchException>(() => { items.FindByGeneralIdRef(generalIdRef); });
|
|
|
|
Assert.That(result?.Message, Is.EqualTo($"The retrieved guid {keyGuid} does not match the expected guid {wrongGuid}"));
|
|
}
|
|
|
|
[Test]
|
|
public void FindById_IdNotFound_ReturnsNull()
|
|
{
|
|
//Arrange
|
|
var items = new List<TestCargo>
|
|
{
|
|
new()
|
|
{
|
|
Id = 1,
|
|
Guid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}"),
|
|
Name = "Test Item"
|
|
}
|
|
};
|
|
|
|
//Act
|
|
var result = items.FindById(100);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.Null);
|
|
}
|
|
|
|
[Test]
|
|
public void FindById_IdFound_ReturnsExpectedValue()
|
|
{
|
|
//Arrange
|
|
var keyId = 1;
|
|
var keyGuid = new Guid("{F81F58DB-ACB0-404E-B5DB-C480DE3F2016}");
|
|
|
|
var testItem = new TestCargo()
|
|
{
|
|
Id = keyId,
|
|
Guid = keyGuid,
|
|
Name = "Test Item"
|
|
};
|
|
|
|
var items = new List<TestCargo>
|
|
{
|
|
testItem
|
|
};
|
|
|
|
//Act
|
|
var result = items.FindById(keyId);
|
|
|
|
//Assert
|
|
Assert.That(result, Is.EqualTo(testItem));
|
|
}
|
|
} |