61 lines
2.3 KiB
C#
61 lines
2.3 KiB
C#
|
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 totalQuantity = 50;
|
||
|
var totalSalary = 1200m;
|
||
|
|
||
|
var salaryData = new SalaryDataModel(id, pekarId, period, baseRate, bonusRate, totalQuantity, totalSalary);
|
||
|
|
||
|
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(totalQuantity, salaryData.TotalQuantity);
|
||
|
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 totalQuantity = 50;
|
||
|
var totalSalary = 1200m;
|
||
|
var salary = new SalaryDataModel(invalidId, pekarId, period, baseRate, bonusRate, totalQuantity,
|
||
|
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 totalQuantity = 50;
|
||
|
var totalSalary = 1200m;
|
||
|
var salary = new SalaryDataModel(id, pekarId, period, invalidBaseRate, bonusRate, totalQuantity,
|
||
|
totalSalary);
|
||
|
Assert.Throws<ValidationException>(() => salary.Validate());
|
||
|
}
|
||
|
}
|
||
|
}
|