115 lines
3.6 KiB
C#
115 lines
3.6 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using LCU.Library.Internal.IncentiveApiModels.Entities;
|
|
using LCU.Library.Internal.IncentiveApiModels.Enums;
|
|
using NUnit.Framework;
|
|
|
|
namespace Application.UnitTests.Entities
|
|
{
|
|
public class DepartmentTest
|
|
{
|
|
[Test]
|
|
public void Validate_OK()
|
|
{
|
|
var dept = new Department()
|
|
{
|
|
DepartmentName = "Test1",
|
|
BusinessLineCode = "MEMSRV",
|
|
State = DepartmentState.Active
|
|
};
|
|
|
|
var results = dept.Validate(new ValidationContext(dept));
|
|
Assert.IsEmpty(results);
|
|
}
|
|
|
|
[TestCase("BCHOPS", false)]
|
|
[TestCase("MEMSRV", false)]
|
|
[TestCase("OPS", false)]
|
|
[TestCase("TOAST", true)]
|
|
public void Validate_BusinessLineCode_OK(string businessLine, bool hasError)
|
|
{
|
|
var dept = new Department()
|
|
{
|
|
DepartmentName = "Test1",
|
|
BusinessLineCode = businessLine,
|
|
State = DepartmentState.Active
|
|
};
|
|
|
|
var results = dept.Validate(new ValidationContext(dept));
|
|
Assert.AreEqual(hasError,results.Any());
|
|
}
|
|
|
|
[Test]
|
|
public void Validate_Bad_BusinessLine()
|
|
{
|
|
var dept = new Department()
|
|
{
|
|
DepartmentName = "Test1",
|
|
BusinessLineCode = "THISISNOTAREALBUSINESSLINECODE",
|
|
State = DepartmentState.Active
|
|
};
|
|
|
|
var results = dept.Validate(new ValidationContext(dept));
|
|
Assert.NotNull(results);
|
|
Assert.AreEqual(1, results.Count());
|
|
Assert.AreEqual(results.First().ErrorMessage, "The supplied BusinessLineCode is not associated with any known BusinessLine");
|
|
}
|
|
|
|
[Test]
|
|
public void Validate_NullRegionCode_OK()
|
|
{
|
|
var department = new Department()
|
|
{
|
|
DepartmentName = "Test1",
|
|
BusinessLineCode = "MEMSRV",
|
|
RegionCode = null,
|
|
State = DepartmentState.Active
|
|
};
|
|
|
|
var results = department.Validate(new ValidationContext(department));
|
|
|
|
Assert.NotNull(results);
|
|
Assert.IsEmpty(results);
|
|
}
|
|
|
|
[TestCase("INVALID_REGION")]
|
|
[TestCase("")]
|
|
[TestCase(" ")]
|
|
public void Validate_BadRegionCode_IncludesValidationResult(string regionCode)
|
|
{
|
|
var department = new Department()
|
|
{
|
|
DepartmentName = "Test1",
|
|
BusinessLineCode = "MEMSRV",
|
|
RegionCode = regionCode,
|
|
State = DepartmentState.Active
|
|
};
|
|
|
|
var results = department.Validate(new ValidationContext(department));
|
|
|
|
Assert.NotNull(results);
|
|
Assert.AreEqual(1, results.Count());
|
|
Assert.AreEqual(results.First().ErrorMessage, "The supplied RegionCode is not associated with any known Region");
|
|
}
|
|
|
|
[TestCase("EAST")]
|
|
[TestCase("NORTH")]
|
|
[TestCase("SOUTH")]
|
|
[TestCase("WEST")]
|
|
public void Validate_RegionCode_OK(string regionCode)
|
|
{
|
|
var dept = new Department()
|
|
{
|
|
DepartmentName = "Test1",
|
|
BusinessLineCode = "MEMSRV",
|
|
RegionCode = regionCode,
|
|
State = DepartmentState.Active
|
|
};
|
|
|
|
var results = dept.Validate(new ValidationContext(dept));
|
|
Assert.NotNull(results);
|
|
Assert.IsEmpty(results);
|
|
}
|
|
}
|
|
}
|