Remove Jenkinsfile and add unit tests for various models including Address, Domain, Nameserver, Section, Session, Subnetwork, Tag, Vlan, and Vrf. Introduce mock classes for HTTP requests and cmdlet testing.
This commit is contained in:
77
classlib.tests/Models/SectionTests.cs
Normal file
77
classlib.tests/Models/SectionTests.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
namespace PS.IPAM.Tests.Models;
|
||||
|
||||
using FluentAssertions;
|
||||
using PS.IPAM;
|
||||
using Xunit;
|
||||
|
||||
public class SectionTests
|
||||
{
|
||||
[Fact]
|
||||
public void Constructor_SetsAllProperties()
|
||||
{
|
||||
// Arrange
|
||||
var id = 1;
|
||||
var name = "Production";
|
||||
var description = "Production networks section";
|
||||
var masterSectionId = 0;
|
||||
var permissions = "{\"3\":\"2\"}";
|
||||
var strictMode = true;
|
||||
var subnetOrdering = "subnet,asc";
|
||||
var order = 1;
|
||||
var editDate = new DateTime(2026, 1, 5);
|
||||
var showSubnet = true;
|
||||
var showVlan = true;
|
||||
var showVRF = false;
|
||||
var showSupernetOnly = false;
|
||||
var dnsId = 1;
|
||||
|
||||
// Act
|
||||
var section = new Section(
|
||||
id, name, description, masterSectionId, permissions, strictMode,
|
||||
subnetOrdering, order, editDate, showSubnet, showVlan, showVRF,
|
||||
showSupernetOnly, dnsId
|
||||
);
|
||||
|
||||
// Assert
|
||||
section.Id.Should().Be(id);
|
||||
section.Name.Should().Be(name);
|
||||
section.Description.Should().Be(description);
|
||||
section.MasterSectionId.Should().Be(masterSectionId);
|
||||
section.Permissions.Should().Be(permissions);
|
||||
section.StrictMode.Should().Be(strictMode);
|
||||
section.SubnetOrdering.Should().Be(subnetOrdering);
|
||||
section.Order.Should().Be(order);
|
||||
section.EditDate.Should().Be(editDate);
|
||||
section.ShowSubnet.Should().Be(showSubnet);
|
||||
section.ShowVlan.Should().Be(showVlan);
|
||||
section.ShowVRF.Should().Be(showVRF);
|
||||
section.ShowSupernetOnly.Should().Be(showSupernetOnly);
|
||||
section.DNSId.Should().Be(dnsId);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("Production")]
|
||||
[InlineData("Development")]
|
||||
[InlineData("DMZ")]
|
||||
public void ToString_ReturnsSectionName(string sectionName)
|
||||
{
|
||||
// Arrange
|
||||
var section = new Section(1, sectionName, "", 0, "", false, "", 0, null, false, false, false, false, 0);
|
||||
|
||||
// Act
|
||||
var result = section.ToString();
|
||||
|
||||
// Assert
|
||||
result.Should().Be(sectionName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Constructor_WithNullEditDate_SetsNull()
|
||||
{
|
||||
// Act
|
||||
var section = new Section(1, "Test", "", 0, "", false, "", 0, null, false, false, false, false, 0);
|
||||
|
||||
// Assert
|
||||
section.EditDate.Should().BeNull();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user