59 lines
1.8 KiB
C#
Raw Permalink Normal View History

2025-02-13 16:13:21 +04:00
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);
2025-02-25 15:42:57 +04:00
2025-02-13 16:13:21 +04:00
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);
2025-02-25 15:42:57 +04:00
Assert.Throws<ValidationException>(() => item.Validate());
}
[Test]
public void CreatePositionDataModel_TitleWithInvalidCharacters_ShouldThrowValidationException()
{
var id = Guid.NewGuid().ToString();
var type = PositionType.Cool;
var invalidTitle = "Manager123";
var item = new PositionDataModel(id, type, invalidTitle);
2025-02-13 16:13:21 +04:00
Assert.Throws<ValidationException>(() => item.Validate());
}
}
}