From 1310be1ef9ab7c837dbc23be3e532655a85ddf20 Mon Sep 17 00:00:00 2001 From: TypoMustakes Date: Wed, 13 Dec 2023 09:33:23 +0100 Subject: [PATCH] Adding more tests --- WD7UVN_HFT_2023241.Test/DeleteTests.cs | 68 ++++++++ WD7UVN_HFT_2023241.Test/NonCRUDTests.cs | 205 ++++++++++++++++++++++++ WD7UVN_HFT_2023241.Test/ReadTests.cs | 181 +++++++++++++++++++++ WD7UVN_HFT_2023241.Test/UpdateTests.cs | 64 ++++++++ 4 files changed, 518 insertions(+) create mode 100644 WD7UVN_HFT_2023241.Test/DeleteTests.cs create mode 100644 WD7UVN_HFT_2023241.Test/NonCRUDTests.cs create mode 100644 WD7UVN_HFT_2023241.Test/ReadTests.cs create mode 100644 WD7UVN_HFT_2023241.Test/UpdateTests.cs diff --git a/WD7UVN_HFT_2023241.Test/DeleteTests.cs b/WD7UVN_HFT_2023241.Test/DeleteTests.cs new file mode 100644 index 0000000..ca0a2c7 --- /dev/null +++ b/WD7UVN_HFT_2023241.Test/DeleteTests.cs @@ -0,0 +1,68 @@ +using NUnit.Framework; +using WD7UVN_HFT_2023241.Models; +using WD7UVN_HFT_2023241.Logic; +using WD7UVN_HFT_2023241.Repository; +using System.Collections.Generic; +using System.Linq; + +namespace WD7UVN_HFT_2023241.Test +{ + public class DeleteTests + { + LogicServices logic; + + [SetUp] + public void Setup() + { + logic = new LogicServices(new CRUD()); + } + + [Test] + public void DeleteCustomerTest() + { + var tmp = logic.CRUDOperations.ReadAllCustomers(); + List testData = new List(tmp); + testData.Remove(testData[0]); + + logic.CRUDOperations.DeleteCustomer(logic.CRUDOperations.ReadAllCustomers().ToList()[0].ID); + + Assert.That(logic.CRUDOperations.ReadAllCustomers().ToList().SequenceEqual(testData)); + } + + [Test] + public void DeleteEmployeeTest() + { + var tmp = logic.CRUDOperations.ReadAllEmployees(); + List testData = new List(tmp); + testData.Remove(testData[0]); + + logic.CRUDOperations.DeleteEmployee(logic.CRUDOperations.ReadAllEmployees().ToList()[0].ID); + + Assert.That(logic.CRUDOperations.ReadAllEmployees().ToList().SequenceEqual(testData)); + } + + [Test] + public void DeleteServiceTest() + { + var tmp = logic.CRUDOperations.ReadAllServices(); + List testData = new List(tmp); + testData.Remove(testData[0]); + + logic.CRUDOperations.DeleteService(logic.CRUDOperations.ReadAllServices().ToList()[0].ID); + + Assert.That(logic.CRUDOperations.ReadAllServices().ToList().SequenceEqual(testData)); + } + + [Test] + public void DeleteMaintainerTeamTest() + { + var tmp = logic.CRUDOperations.ReadAllMaintainerTeams(); + List testData = new List(tmp); + testData.Remove(testData[0]); + + logic.CRUDOperations.DeleteMaintainerTeam(logic.CRUDOperations.ReadAllMaintainerTeams().ToList()[0].ID); + + Assert.That(logic.CRUDOperations.ReadAllMaintainerTeams().ToList().SequenceEqual(testData)); + } + } +} diff --git a/WD7UVN_HFT_2023241.Test/NonCRUDTests.cs b/WD7UVN_HFT_2023241.Test/NonCRUDTests.cs new file mode 100644 index 0000000..4c9b71c --- /dev/null +++ b/WD7UVN_HFT_2023241.Test/NonCRUDTests.cs @@ -0,0 +1,205 @@ +using NUnit.Framework; +using WD7UVN_HFT_2023241.Models; +using WD7UVN_HFT_2023241.Logic; +using WD7UVN_HFT_2023241.Repository; +using System.Collections.Generic; +using System.Linq; +using Moq; + +namespace WD7UVN_HFT_2023241.Test +{ + public class NonCRUDTests + { + LogicServices logic; + Mock mockCRUD; + + [SetUp] + public void Setup() + { + var customerData = new List() + { + new Customer + { + NAME = "Szemed Fénye Optika Kft.", + ID = 1, + EMAIL = "info@szemedfenye.hu", + PHONE = "+36 30 123 4567", + SERVICE_ID = 1 + }, + new Customer{ + NAME = "DoBox Logisztika Kft.", + ID = 2, + EMAIL = "info@dobox.hu", + PHONE = "+36 50 234 5678", + SERVICE_ID = 2 + } + }.AsQueryable(); + + var maintainerTeamData = new List() + { + new MaintainerTeam{ + ID = 1, + NAME = "Microsoft Team", + EMAIL = "microsoft@ourcompany.hu", + LEADER_ID = 2 + }, + new MaintainerTeam{ + ID = 2, + NAME = "Linux Team", + LEADER_ID = 4, + EMAIL = "linux@ourcompany.hu" + } + }.AsQueryable(); + + var serviceData = new List() + { + new Service{ + NAME = "Microsoft Exchange", + ID = 1, + ACCOUNT = "admin:password123", + NOTES = "Currently migrating to EXOnline", + SERVICE_DOMAIN = "admin.exchange.intranet.szemedfenye.hu", + PORT = 443, + IP = "10.42.567.3", + MAINTAINER_ID = 1 + }, + new Service{ + NAME = "OpenLDAP", + ID = 2, + ACCOUNT = "ldapadmin:verystrongpassword", + NOTES = "OpenLDAP directory access protocol on Linux, over SSL", + SERVICE_DOMAIN = "conf.ldap.intranet.dobox.hu", + PORT = 636, + IP = "66.254.114.41", + MAINTAINER_ID = 2 + } + }.AsQueryable(); + + var employeeData = new List() + { + new Employee{ + ID = 1, + NAME = "Gipsz Jakab", + EMAIL = "gipsz.jakab@ourcompany.hu", + PHONE = "+36 20 345 6789", + MANAGER_ID = 2, + MAINTAINER_ID = 1 + }, + new Employee{ + NAME = "Nagy Krisztina", + ID = 2, + MAINTAINER_ID = 1, + EMAIL = "nagy.krisztina@ourcompany.hu", + PHONE = "+36 30 987 6543" + }, + + new Employee{ + NAME = "Székely Csaba", + ID = 3, + PHONE = "+36 50 8766 5432", + EMAIL = "szekely.csaba@ourcompany.hu", + MANAGER_ID = 2, + MAINTAINER_ID = 1 + }, + + new Employee{ + NAME = "Marik Tamás", + ID = 4, + PHONE = "+36 20 345 6780", + EMAIL = "marik.tamas@ourcompany.hu", + MAINTAINER_ID = 2, + }, + + new Employee{ + NAME = "Dávid András", + ID = 5, + PHONE = "+36 51 865 2876", + EMAIL = "david.andras@ourcompany.hu", + MANAGER_ID = 4, + MAINTAINER_ID = 2 + }, + + new Employee{ + NAME = "Steiner Zsófia", + ID = 6, + PHONE = "+36 20 756 8635", + MANAGER_ID = 4, + MAINTAINER_ID = 2 + } + }.AsQueryable(); + + mockCRUD = new Mock(); + + mockCRUD.Setup(p => p.ReadCustomer(It.IsAny())).Returns((int id) => customerData.FirstOrDefault(c => c.ID == id)); + mockCRUD.Setup(p => p.ReadService(It.IsAny())).Returns((int id) => serviceData.FirstOrDefault(c => c.ID == id)); + mockCRUD.Setup(p => p.ReadEmployee(It.IsAny())).Returns((int id) => employeeData.FirstOrDefault(c => c.ID == id)); + mockCRUD.Setup(p => p.ReadMaintainerTeam(It.IsAny())).Returns((int id) => maintainerTeamData.FirstOrDefault(c => c.ID == id)); + + mockCRUD.Setup(p => p.ReadAllCustomers()).Returns(customerData); + mockCRUD.Setup(p => p.ReadAllEmployees()).Returns(employeeData); + mockCRUD.Setup(p => p.ReadAllServices()).Returns(serviceData); + mockCRUD.Setup(p => p.ReadAllMaintainerTeams()).Returns(maintainerTeamData); + + logic = new LogicServices(mockCRUD.Object); + } + + [Test] + public void WhoWorksInMaintainerTeam() + { + List testData = new List(); + testData.Add(logic.CRUDOperations.ReadEmployee(1)); + testData.Add(logic.CRUDOperations.ReadEmployee(2)); + testData.Add(logic.CRUDOperations.ReadEmployee(3)); + + List actualData = logic.WhoWorksInMaintainerTeam(1).ToList(); + + Assert.That(actualData.All(testData.Contains)); + } + + [Test] + public void GetSubordinates() + { + List testData = new List(); + testData.Add(logic.CRUDOperations.ReadEmployee(1)); + testData.Add(logic.CRUDOperations.ReadEmployee(3)); + + List actualData = logic.GetSubordinates(2).ToList(); + + Assert.That(actualData.All(testData.Contains)); + } + + [Test] + public void WhoUsesService() + { + List testData = new List(); + testData.Add(logic.CRUDOperations.ReadCustomer(2)); + + List actualData = logic.WhoUsesService(2).ToList(); + + Assert.That(actualData.All(testData.Contains)); + } + + [Test] + public void WhoIsResponsibleForService() + { + Employee testData = logic.CRUDOperations.ReadEmployee(2); + + Employee actualData = logic.WhoIsResponsibleForService(1); + + Assert.That(actualData.Equals(testData)); + } + + [Test] + public void WhoMaintainsService() + { + List testData = new List(); + testData.Add(logic.CRUDOperations.ReadEmployee(1)); + testData.Add(logic.CRUDOperations.ReadEmployee(2)); + testData.Add(logic.CRUDOperations.ReadEmployee(3)); + + List actualData = logic.WhoMaintainsService(1).ToList(); + + Assert.That(actualData.All(testData.Contains)); + } + } +} diff --git a/WD7UVN_HFT_2023241.Test/ReadTests.cs b/WD7UVN_HFT_2023241.Test/ReadTests.cs new file mode 100644 index 0000000..b2f08ef --- /dev/null +++ b/WD7UVN_HFT_2023241.Test/ReadTests.cs @@ -0,0 +1,181 @@ +using NUnit.Framework; +using WD7UVN_HFT_2023241.Models; +using WD7UVN_HFT_2023241.Logic; +using WD7UVN_HFT_2023241.Repository; +using System.Collections.Generic; +using System.Linq; +using Moq; + +namespace WD7UVN_HFT_2023241.Test +{ + public class ReadAllTests + { + LogicServices logic; + Mock mockCRUD; + + [SetUp] + public void Setup() + { + var customerData = new List() + { + new Customer + { + NAME = "Szemed Fénye Optika Kft.", + ID = 1, + EMAIL = "info@szemedfenye.hu", + PHONE = "+36 30 123 4567", + SERVICE_ID = 1 + }, + new Customer{ + NAME = "DoBox Logisztika Kft.", + ID = 2, + EMAIL = "info@dobox.hu", + PHONE = "+36 50 234 5678", + SERVICE_ID = 2 + } + }.AsQueryable(); + + var maintainerTeamData = new List() + { + new MaintainerTeam{ + ID = 1, + NAME = "Microsoft Team", + EMAIL = "microsoft@ourcompany.hu", + LEADER_ID = 2 + }, + new MaintainerTeam{ + ID = 2, + NAME = "Linux Team", + LEADER_ID = 4, + EMAIL = "linux@ourcompany.hu" + } + }.AsQueryable(); + + var serviceData = new List() + { + new Service{ + NAME = "Microsoft Exchange", + ID = 1, + ACCOUNT = "admin:password123", + NOTES = "Currently migrating to EXOnline", + SERVICE_DOMAIN = "admin.exchange.intranet.szemedfenye.hu", + PORT = 443, + IP = "10.42.567.3", + MAINTAINER_ID = 1 + }, + new Service{ + NAME = "OpenLDAP", + ID = 2, + ACCOUNT = "ldapadmin:verystrongpassword", + NOTES = "OpenLDAP directory access protocol on Linux, over SSL", + SERVICE_DOMAIN = "conf.ldap.intranet.dobox.hu", + PORT = 636, + IP = "66.254.114.41", + MAINTAINER_ID = 2 + } + }.AsQueryable(); + + var employeeData = new List() + { + new Employee{ + ID = 1, + NAME = "Gipsz Jakab", + EMAIL = "gipsz.jakab@ourcompany.hu", + PHONE = "+36 20 345 6789", + MANAGER_ID = 2, + MAINTAINER_ID = 1 + }, + new Employee{ + NAME = "Nagy Krisztina", + ID = 2, + MAINTAINER_ID = 1, + EMAIL = "nagy.krisztina@ourcompany.hu", + PHONE = "+36 30 987 6543" + }, + + new Employee{ + NAME = "Székely Csaba", + ID = 3, + PHONE = "+36 50 8766 5432", + EMAIL = "szekely.csaba@ourcompany.hu", + MANAGER_ID = 2, + MAINTAINER_ID = 1 + }, + + new Employee{ + NAME = "Marik Tamás", + ID = 4, + PHONE = "+36 20 345 6780", + EMAIL = "marik.tamas@ourcompany.hu", + MAINTAINER_ID = 2, + }, + + new Employee{ + NAME = "Dávid András", + ID = 5, + PHONE = "+36 51 865 2876", + EMAIL = "david.andras@ourcompany.hu", + MANAGER_ID = 4, + MAINTAINER_ID = 2 + }, + + new Employee{ + NAME = "Steiner Zsófia", + ID = 6, + PHONE = "+36 20 756 8635", + MANAGER_ID = 4, + MAINTAINER_ID = 2 + } + }.AsQueryable(); + + mockCRUD = new Mock(); + + mockCRUD.Setup(p => p.ReadAllCustomers()).Returns(customerData); + mockCRUD.Setup(p => p.ReadAllEmployees()).Returns(employeeData); + mockCRUD.Setup(p => p.ReadAllServices()).Returns(serviceData); + mockCRUD.Setup(p => p.ReadAllMaintainerTeams()).Returns(maintainerTeamData); + + logic = new LogicServices(mockCRUD.Object); + } + + [Test] + public void ReadCustomerTest() + { + var testData = logic.CRUDOperations.ReadAllCustomers().ToList(); + + var actualData = logic.CRUDOperations.ReadAllCustomers().ToList(); + + Assert.That(actualData.SequenceEqual(testData)); + } + + [Test] + public void ReadEmployeeTest() + { + var testData = logic.CRUDOperations.ReadAllServices().ToList(); + + var actualData = logic.CRUDOperations.ReadAllServices().ToList(); + + Assert.That(actualData.SequenceEqual(testData)); + } + + [Test] + public void ReadServiceTest() + { + var testData = logic.CRUDOperations.ReadAllServices().ToList(); + + var actualData = logic.CRUDOperations.ReadAllServices().ToList(); + + Assert.That(actualData.SequenceEqual(testData)); + } + + [Test] + public void ReadMaintainerTeamTest() + { + var testData = logic.CRUDOperations.ReadAllMaintainerTeams().ToList(); + + var actualData = logic.CRUDOperations.ReadAllMaintainerTeams().ToList(); + + Assert.That(actualData.SequenceEqual(testData)); + } + } +} diff --git a/WD7UVN_HFT_2023241.Test/UpdateTests.cs b/WD7UVN_HFT_2023241.Test/UpdateTests.cs new file mode 100644 index 0000000..2740790 --- /dev/null +++ b/WD7UVN_HFT_2023241.Test/UpdateTests.cs @@ -0,0 +1,64 @@ +using NUnit.Framework; +using WD7UVN_HFT_2023241.Models; +using WD7UVN_HFT_2023241.Logic; +using WD7UVN_HFT_2023241.Repository; +using System.Collections.Generic; +using System.Linq; + +namespace WD7UVN_HFT_2023241.Test +{ + public class UpdateTests + { + LogicServices logic; + + [SetUp] + public void Setup() + { + logic = new LogicServices(new CRUD()); + } + + [Test] + public void UpdateCustomerTest() + { + var testData = logic.CRUDOperations.ReadAllCustomers().ToList()[0]; + testData.NAME = "Updated Customer Name"; + + logic.CRUDOperations.UpdateCustomer(testData); + + Assert.That(logic.CRUDOperations.ReadAllCustomers().ToList()[0] == testData); + } + + [Test] + public void UpdateEmployeeTest() + { + var testData = logic.CRUDOperations.ReadAllEmployees().ToList()[0]; + testData.NAME = "Updated Employee Name"; + + logic.CRUDOperations.UpdateEmployee(testData); + + Assert.That(logic.CRUDOperations.ReadAllEmployees().ToList()[0] == testData); + } + + [Test] + public void UpdateServiceTest() + { + var testData = logic.CRUDOperations.ReadAllServices().ToList()[0]; + testData.NAME = "Updated Service Name"; + + logic.CRUDOperations.UpdateService(testData); + + Assert.That(logic.CRUDOperations.ReadAllServices().ToList()[0] == testData); + } + + [Test] + public void UpdateMaintainerTeamTest() + { + var testData = logic.CRUDOperations.ReadAllMaintainerTeams().ToList()[0]; + testData.NAME = "Updated MaintainerTeam Name"; + + logic.CRUDOperations.UpdateMaintainerTeam(testData); + + Assert.That(logic.CRUDOperations.ReadAllMaintainerTeams().ToList()[0] == testData); + } + } +}