Files
PIbd-24_EredavkinRA_TheAvto…/AutoTazTest/DataModelsTest/WarehouseDataModelTests.cs
2025-04-10 18:38:30 +04:00

73 lines
2.6 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using AvtoTAZContratcs.DataModels;
using AvtoTAZContratcs.Exceptions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AutoTazTest.DataModelsTest;
[TestFixture]
internal class WarehouseDataModelTests
{
[Test]
public void IdIsNullOrEmptyTest()
{
var warehouse = CreateDataModel(null, "Аddress", CreateSubDataModel());
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
warehouse = CreateDataModel(string.Empty, "Аddress", CreateSubDataModel());
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void IdIsNotGuidTest()
{
var warehouse = CreateDataModel("id", "Аddress", CreateSubDataModel());
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AddressIsNullOrEmptyTest()
{
var warehouse = CreateDataModel(Guid.NewGuid().ToString(), null, CreateSubDataModel());
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
warehouse = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, CreateSubDataModel());
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AccessoriesIsNullOrEmptyTest()
{
var warehouse = CreateDataModel(Guid.NewGuid().ToString(), "Аddress", null);
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
warehouse = CreateDataModel(Guid.NewGuid().ToString(), "Аddress", []);
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsIsCorrectTest()
{
var id = Guid.NewGuid().ToString();
var address = "Mukhosransk";
var accessories = CreateSubDataModel();
var warehouse = CreateDataModel(id, address, accessories);
Assert.DoesNotThrow(() => warehouse.Validate());
Assert.Multiple(() =>
{
Assert.That(warehouse.Id, Is.EqualTo(id));
Assert.That(warehouse.Address, Is.EqualTo(address));
Assert.That(warehouse.Accessories, Is.EqualTo(accessories));
});
}
private static WarehouseDataModel CreateDataModel(string? id, string address, List<WharehouseAccessoriesDataModels>? accessories)
=> new WarehouseDataModel(id, address, accessories);
private static List<WharehouseAccessoriesDataModels> CreateSubDataModel()
=> [new WharehouseAccessoriesDataModels(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 1)];
}