349 lines
20 KiB
C#
349 lines
20 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using Moq;
|
|
using TheCyclopsBusinessLogic.Implementations;
|
|
using TheCyclopsContracts.DataModels;
|
|
using TheCyclopsContracts.Enums;
|
|
using TheCyclopsContracts.Exceptions;
|
|
using TheCyclopsContracts.StoragesContracts;
|
|
|
|
namespace TheCyclopsTests.BusinessLogicsContractsTests;
|
|
|
|
[TestFixture]
|
|
internal class SalaryBusinessLogicContractTest
|
|
{
|
|
private SalaryBusinessLogicContract _salaryBusinessLogicContract;
|
|
private Mock<ISalaryStorageContract> _salaryStorageContract;
|
|
private Mock<IInstallationStorageContract> _installationStorageContract;
|
|
private Mock<IPostStorageContract> _postStorageContract;
|
|
private Mock<IEmployeeStorageContract> _employeeStorageContract;
|
|
|
|
[OneTimeSetUp]
|
|
public void OneTimeSetUp()
|
|
{
|
|
_salaryStorageContract = new Mock<ISalaryStorageContract>();
|
|
_installationStorageContract = new Mock<IInstallationStorageContract>();
|
|
_postStorageContract = new Mock<IPostStorageContract>();
|
|
_employeeStorageContract = new Mock<IEmployeeStorageContract>();
|
|
_salaryBusinessLogicContract = new SalaryBusinessLogicContract(_salaryStorageContract.Object,
|
|
_installationStorageContract.Object, _postStorageContract.Object,
|
|
_employeeStorageContract.Object, new Mock<ILogger>().Object);
|
|
}
|
|
|
|
[TearDown]
|
|
public void TearDown()
|
|
{
|
|
_salaryStorageContract.Reset();
|
|
_installationStorageContract.Reset();
|
|
_postStorageContract.Reset();
|
|
_employeeStorageContract.Reset();
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalaries_ReturnListOfRecords_Test()
|
|
{
|
|
//Arrange
|
|
var startDate = DateTime.UtcNow;
|
|
var endDate = DateTime.UtcNow.AddDays(1);
|
|
var listOriginal = new List<SalaryDataModel>()
|
|
{
|
|
new(Guid.NewGuid().ToString(), DateTime.UtcNow, 10),
|
|
new(Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(1), 14),
|
|
new(Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1), 30),
|
|
};
|
|
_salaryStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())).Returns(listOriginal);
|
|
//Act
|
|
var list = _salaryBusinessLogicContract.GetAllSalariesByPeriod(startDate, endDate);
|
|
//Assert
|
|
Assert.That(list, Is.Not.Null);
|
|
Assert.That(list, Is.EquivalentTo(listOriginal));
|
|
_salaryStorageContract.Verify(x => x.GetList(startDate, endDate, null), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalaries_ReturnEmptyList_Test()
|
|
{
|
|
//Arrange
|
|
_salaryStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())).Returns([]);
|
|
//Act
|
|
var list = _salaryBusinessLogicContract.GetAllSalariesByPeriod(DateTime.UtcNow, DateTime.UtcNow.AddDays(1));
|
|
//Assert
|
|
Assert.That(list, Is.Not.Null);
|
|
Assert.That(list, Has.Count.EqualTo(0));
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalaries_IncorrectDates_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var dateTime = DateTime.UtcNow;
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriod(dateTime, dateTime), Throws.TypeOf<IncorrectDatesException>());
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriod(dateTime, dateTime.AddSeconds(-1)), Throws.TypeOf<IncorrectDatesException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalaries_ReturnNull_ThrowException_Test()
|
|
{
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriod(DateTime.UtcNow, DateTime.UtcNow.AddDays(1)), Throws.TypeOf<NullListException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalaries_StorageThrowError_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
_salaryStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())).Throws(new StorageException(new InvalidOperationException()));
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriod(DateTime.UtcNow, DateTime.UtcNow.AddDays(1)), Throws.TypeOf<StorageException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_ReturnListOfRecords_Test()
|
|
{
|
|
//Arrange
|
|
var startDate = DateTime.UtcNow;
|
|
var endDate = DateTime.UtcNow.AddDays(1);
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
var listOriginal = new List<SalaryDataModel>()
|
|
{
|
|
new(Guid.NewGuid().ToString(), DateTime.UtcNow, 10),
|
|
new(Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(1), 14),
|
|
new(Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1), 30),
|
|
};
|
|
_salaryStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())).Returns(listOriginal);
|
|
//Act
|
|
var list = _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(startDate, endDate, employeeId);
|
|
//Assert
|
|
Assert.That(list, Is.Not.Null);
|
|
Assert.That(list, Is.EquivalentTo(listOriginal));
|
|
_salaryStorageContract.Verify(x => x.GetList(startDate, endDate, employeeId), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_ReturnEmptyList_Test()
|
|
{
|
|
//Arrange
|
|
_salaryStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())).Returns([]);
|
|
//Act
|
|
var list = _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), Guid.NewGuid().ToString());
|
|
//Assert
|
|
Assert.That(list, Is.Not.Null);
|
|
Assert.That(list, Has.Count.EqualTo(0));
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_IncorrectDates_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var dateTime = DateTime.UtcNow;
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(dateTime, dateTime, Guid.NewGuid().ToString()), Throws.TypeOf<IncorrectDatesException>());
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(dateTime, dateTime.AddSeconds(-1), Guid.NewGuid().ToString()), Throws.TypeOf<IncorrectDatesException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_EmployeeIdIsNUllOrEmpty_ThrowException_Test()
|
|
{
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), null), Throws.TypeOf<ArgumentNullException>());
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), string.Empty), Throws.TypeOf<ArgumentNullException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_EmployeeIdIsNotGuid_ThrowException_Test()
|
|
{
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), "employeeId"), Throws.TypeOf<ValidationException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_ReturnNull_ThrowException_Test()
|
|
{
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), Guid.NewGuid().ToString()), Throws.TypeOf<NullListException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetAllSalariesByEmployee_StorageThrowError_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
_salaryStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())).Throws(new StorageException(new InvalidOperationException()));
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.GetAllSalariesByPeriodByEmployee(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), Guid.NewGuid().ToString()), Throws.TypeOf<StorageException>());
|
|
_salaryStorageContract.Verify(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_CalculateSalary_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
var installationPrice = 200.0;
|
|
var installationSum = 200.0;
|
|
var postSalary = 2000.0;
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([new InstallationDataModel(Guid.NewGuid().ToString(), employeeId, DateTime.UtcNow, installationPrice, installationSum, false, [])]);
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, postSalary, true, DateTime.UtcNow));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns([new EmployeeDataModel(employeeId, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)]);
|
|
var sum = 0.0;
|
|
var expectedSum = postSalary + installationPrice * 0.1;
|
|
_salaryStorageContract.Setup(x => x.AddElement(It.IsAny<SalaryDataModel>()))
|
|
.Callback((SalaryDataModel x) =>
|
|
{
|
|
installationSum = x.Salary;
|
|
});
|
|
//Act
|
|
_salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow);
|
|
//Assert
|
|
Assert.That(installationSum, Is.EqualTo(expectedSum));
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_WithSeveralEmployees_Test()
|
|
{
|
|
//Arrange
|
|
var employee1Id = Guid.NewGuid().ToString();
|
|
var employee2Id = Guid.NewGuid().ToString();
|
|
var employee3Id = Guid.NewGuid().ToString();
|
|
var list = new List<EmployeeDataModel>() {
|
|
new(employee1Id, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false),
|
|
new(employee2Id, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false),
|
|
new(employee3Id, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)
|
|
};
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([new InstallationDataModel(Guid.NewGuid().ToString(), employee1Id, DateTime.UtcNow, 1, 0, false, []),
|
|
new InstallationDataModel(Guid.NewGuid().ToString(), employee1Id, DateTime.UtcNow, 1, 0, false, []),
|
|
new InstallationDataModel(Guid.NewGuid().ToString(), employee2Id, DateTime.UtcNow, 1, 0, false, []),
|
|
new InstallationDataModel(Guid.NewGuid().ToString(), employee3Id, DateTime.UtcNow, 1, 0, false, []),
|
|
new InstallationDataModel(Guid.NewGuid().ToString(), employee3Id, DateTime.UtcNow, 1, 0, false, [])]);
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, 2000, true, DateTime.UtcNow));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns(list);
|
|
//Act
|
|
_salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow);
|
|
//Assert
|
|
_salaryStorageContract.Verify(x => x.AddElement(It.IsAny<SalaryDataModel>()), Times.Exactly(list.Count));
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_WithoitInstallationsByEmployee_Test()
|
|
{
|
|
//Arrange
|
|
var postSalary = 2000.0;
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([]);
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, postSalary, true, DateTime.UtcNow));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns([new EmployeeDataModel(employeeId, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)]);
|
|
var sum = 0.0;
|
|
var expectedSum = postSalary;
|
|
_salaryStorageContract.Setup(x => x.AddElement(It.IsAny<SalaryDataModel>()))
|
|
.Callback((SalaryDataModel x) =>
|
|
{
|
|
sum = x.Salary;
|
|
});
|
|
//Act
|
|
_salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow);
|
|
//Assert
|
|
Assert.That(sum, Is.EqualTo(expectedSum));
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_InstallationStorageReturnNull_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, 2000, true, DateTime.UtcNow));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns([new EmployeeDataModel(employeeId, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)]);
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow), Throws.TypeOf<NullListException>());
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_PostStorageReturnNull_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([new InstallationDataModel(Guid.NewGuid().ToString(), employeeId, DateTime.UtcNow, 0, 0, false, [])]);
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns([new EmployeeDataModel(employeeId, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)]);
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow), Throws.TypeOf<NullListException>());
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_EmployeeStorageReturnNull_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([new InstallationDataModel(Guid.NewGuid().ToString(), employeeId, DateTime.UtcNow, 0, 0, false, [])]);
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, 2000, true, DateTime.UtcNow));
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow), Throws.TypeOf<NullListException>());
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_InstallationStorageThrowException_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Throws(new StorageException(new InvalidOperationException()));
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, 2000, true, DateTime.UtcNow));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns([new EmployeeDataModel(employeeId, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)]);
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow), Throws.TypeOf<StorageException>());
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_PostStorageThrowException_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([new InstallationDataModel(Guid.NewGuid().ToString(), employeeId, DateTime.UtcNow, 0, 0, false, [])]);
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Throws(new StorageException(new InvalidOperationException()));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Returns([new EmployeeDataModel(employeeId, "Test", "email@mail.com", Guid.NewGuid().ToString(), DateTime.UtcNow, DateTime.UtcNow, false)]);
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow), Throws.TypeOf<StorageException>());
|
|
}
|
|
|
|
[Test]
|
|
public void CalculateSalaryByMounth_EmployeeStorageThrowException_ThrowException_Test()
|
|
{
|
|
//Arrange
|
|
var employeeId = Guid.NewGuid().ToString();
|
|
_installationStorageContract.Setup(x => x.GetList(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>(), It.IsAny<string>()))
|
|
.Returns([new InstallationDataModel(Guid.NewGuid().ToString(), employeeId, DateTime.UtcNow, 0, 0, false, [])]);
|
|
_postStorageContract.Setup(x => x.GetElementById(It.IsAny<string>()))
|
|
.Returns(new PostDataModel(Guid.NewGuid().ToString(), "name", PostType.Designer, 2000, true, DateTime.UtcNow));
|
|
_employeeStorageContract.Setup(x => x.GetList(It.IsAny<bool>(), It.IsAny<string?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>()))
|
|
.Throws(new StorageException(new InvalidOperationException()));
|
|
//Act&Assert
|
|
Assert.That(() => _salaryBusinessLogicContract.CalculateSalaryByMounth(DateTime.UtcNow), Throws.TypeOf<StorageException>());
|
|
}
|
|
}
|