48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
using System;
|
|
using CandyHouseBase.DataModels;
|
|
using CandyHouseBase.Enums;
|
|
using CandyHouseBase.Exceptions;
|
|
using NUnit.Framework;
|
|
|
|
namespace CandyHouseTests.DataModelsTests
|
|
{
|
|
[TestFixture]
|
|
public class PositionDataModelTests
|
|
{
|
|
[Test]
|
|
public void CreatePositionDataModel_ValidData_ShouldCreateSuccessfully()
|
|
{
|
|
var id = Guid.NewGuid().ToString();
|
|
var type = PositionType.Cool;
|
|
var title = "Manager";
|
|
|
|
var position = new PositionDataModel(id, type, title);
|
|
|
|
Assert.AreEqual(id, position.Id);
|
|
Assert.AreEqual(type, position.Type);
|
|
Assert.AreEqual(title, position.Title);
|
|
}
|
|
|
|
[Test]
|
|
public void CreatePositionDataModel_InvalidId_ShouldThrowArgumentException()
|
|
{
|
|
var invalidId = "";
|
|
var type = PositionType.Cool;
|
|
var title = "Manager";
|
|
var item = new PositionDataModel(invalidId, type, title);
|
|
|
|
Assert.Throws<ValidationException>(() => item.Validate());
|
|
}
|
|
|
|
[Test]
|
|
public void CreatePositionDataModel_InvalidTitle_ShouldThrowArgumentException()
|
|
{
|
|
var id = Guid.NewGuid().ToString();
|
|
var type = PositionType.Cool;
|
|
var invalidTitle = "";
|
|
var item = new PositionDataModel(id, type, invalidTitle);
|
|
|
|
Assert.Throws<ValidationException>(() => item.Validate());
|
|
}
|
|
}
|
|
} |