61 lines
2.0 KiB
C#
Raw Normal View History

2025-02-13 16:13:21 +04:00
using System;
2025-02-25 15:42:57 +04:00
using System.Collections.Generic;
2025-02-13 16:13:21 +04:00
using NUnit.Framework;
using CandyHouseBase.DataModels;
using CandyHouseBase.Exceptions;
namespace CandyHouseTests.DataModelsTests
{
[TestFixture]
public class PekarDataModelTests
{
[Test]
public void CreatePekarDataModel_ValidData_ShouldCreateSuccessfully()
{
var id = Guid.NewGuid().ToString();
var name = "John Doe";
var experience = Guid.NewGuid().ToString();
2025-02-25 15:42:57 +04:00
var pekar = new PekarDataModel(id, name, experience, 0, new List<ProductDataModel>());
2025-02-13 16:13:21 +04:00
Assert.AreEqual(id, pekar.Id);
Assert.AreEqual(name, pekar.FIO);
Assert.AreEqual(experience, pekar.Position);
}
[Test]
public void Validate_ValidData_ShouldNotThrowException()
{
2025-02-25 15:42:57 +04:00
var pekar = new PekarDataModel(Guid.NewGuid().ToString(), "John Doe", Guid.NewGuid().ToString(), 6,
new List<ProductDataModel>());
2025-02-13 16:13:21 +04:00
Assert.DoesNotThrow(() => pekar.Validate());
}
[Test]
public void Validate_InvalidId_ShouldThrowValidationException()
{
2025-02-25 15:42:57 +04:00
var pekar = new PekarDataModel("", "John Doe", Guid.NewGuid().ToString(), 0, new List<ProductDataModel>());
2025-02-13 16:13:21 +04:00
Assert.Throws<ValidationException>(() => pekar.Validate());
}
[Test]
public void Validate_InvalidName_ShouldThrowValidationException()
{
2025-02-25 15:42:57 +04:00
var pekar = new PekarDataModel(Guid.NewGuid().ToString(), "", Guid.NewGuid().ToString(), 0,
new List<ProductDataModel>());
2025-02-13 16:13:21 +04:00
Assert.Throws<ValidationException>(() => pekar.Validate());
}
[Test]
public void Validate_NegativeExperience_ShouldThrowValidationException()
{
2025-02-25 15:42:57 +04:00
var pekar = new PekarDataModel(Guid.NewGuid().ToString(), "John Doe", "some-invalidate", 0,
new List<ProductDataModel>());
2025-02-13 16:13:21 +04:00
Assert.Throws<ValidationException>(() => pekar.Validate());
}
}
}