57 lines
2.1 KiB
C#
Raw Normal View History

2025-02-13 16:13:21 +04:00
using System;
using CandyHouseBase.DataModels;
using CandyHouseBase.Exceptions;
using NUnit.Framework;
namespace CandyHouseTests.DataModelsTests
{
public class SalaryDataModelTests
{
[Test]
public void CreateSalaryDataModel_ValidData_ShouldCreateSuccessfully()
{
var id = Guid.NewGuid().ToString();
var pekarId = Guid.NewGuid().ToString();
var period = new DateTime(2023, 10, 1);
var baseRate = 1000m;
var bonusRate = 200m;
var totalSalary = 1200m;
2025-02-25 15:42:57 +04:00
var salaryData = new SalaryDataModel(id, pekarId, period, baseRate, bonusRate, totalSalary);
2025-02-13 16:13:21 +04:00
Assert.AreEqual(id, salaryData.Id);
Assert.AreEqual(pekarId, salaryData.PekarId);
Assert.AreEqual(period, salaryData.Period);
Assert.AreEqual(baseRate, salaryData.BaseRate);
Assert.AreEqual(bonusRate, salaryData.BonusRate);
Assert.AreEqual(totalSalary, salaryData.TotalSalary);
}
[Test]
public void CreateSalaryDataModel_InvalidId_ShouldThrowValidationException()
{
var invalidId = "";
var pekarId = Guid.NewGuid().ToString();
var period = new DateTime(2023, 10, 1);
var baseRate = 1000m;
var bonusRate = 200m;
var totalSalary = 1200m;
2025-02-25 15:42:57 +04:00
var salary = new SalaryDataModel(invalidId, pekarId, period, baseRate, bonusRate,
2025-02-13 16:13:21 +04:00
totalSalary);
Assert.Throws<ValidationException>(() => salary.Validate());}
[Test]
public void CreateSalaryDataModel_InvalidBaseRate_ShouldThrowValidationException()
{
var id = Guid.NewGuid().ToString();
var pekarId = Guid.NewGuid().ToString();
var period = new DateTime(2023, 10, 1);
var invalidBaseRate = -1000m;
var bonusRate = 200m;
var totalSalary = 1200m;
2025-02-25 15:42:57 +04:00
var salary = new SalaryDataModel(id, pekarId, period, invalidBaseRate, bonusRate,
2025-02-13 16:13:21 +04:00
totalSalary);
Assert.Throws<ValidationException>(() => salary.Validate());
}
}
}