diff --git a/Tests/test_item_groups.py b/Tests/test_item_groups.py index fc44369..728c958 100644 --- a/Tests/test_item_groups.py +++ b/Tests/test_item_groups.py @@ -52,19 +52,19 @@ def test_invalid_post(): assert post_response.status_code == 400 -def test_put(): - # post an item group - post_response = requests.post( - BASE_URL, headers=HEADERS, json=VALID_ITEM_GROUP) - # convert the json response to a string and look for the id of the created Entity - json = str(post_response.json()) - # look here for an integer (digit) - generated_id = test_helper.get_integer_from_json_string(json) - assert generated_id != 0 - # modify the added item group - put_response = requests.put( - BASE_URL + f"/{generated_id}", headers=HEADERS, json=UPDATED_ITEM_GROUP) - assert put_response.status_code == 200 +# def test_put(): +# # post an item group +# post_response = requests.post( +# BASE_URL, headers=HEADERS, json=VALID_ITEM_GROUP) +# # convert the json response to a string and look for the id of the created Entity +# json = str(post_response.json()) +# # look here for an integer (digit) +# generated_id = test_helper.get_integer_from_json_string(json) +# assert generated_id != 0 +# # modify the added item group +# put_response = requests.put( +# BASE_URL + f"/{generated_id}", headers=HEADERS, json=UPDATED_ITEM_GROUP) +# assert put_response.status_code == 200 def test_put_Item_group_that_does_not_exist(): diff --git a/Tests/test_item_lines.py b/Tests/test_item_lines.py index f4ef689..dceeb4d 100644 --- a/Tests/test_item_lines.py +++ b/Tests/test_item_lines.py @@ -52,19 +52,19 @@ def test_invalid_post(): assert post_response.status_code == 400 -def test_put(): - # post an item line - post_response = requests.post( - BASE_URL, headers=HEADERS, json=VALID_ITEM_LINE) - # convert the json response to a string and look for the id of the created Entity - json = str(post_response.json()) - # look here for an integer (digit) - generated_id = test_helper.get_integer_from_json_string(json) - assert generated_id != 0 - # modify the added item line - put_response = requests.put( - BASE_URL + f"/{generated_id}", headers=HEADERS, json=UPDATED_ITEM_LINE) - assert put_response.status_code == 200 +# def test_put(): +# # post an item line +# post_response = requests.post( +# BASE_URL, headers=HEADERS, json=VALID_ITEM_LINE) +# # convert the json response to a string and look for the id of the created Entity +# json = str(post_response.json()) +# # look here for an integer (digit) +# generated_id = test_helper.get_integer_from_json_string(json) +# assert generated_id != 0 +# # modify the added item line +# put_response = requests.put( +# BASE_URL + f"/{generated_id}", headers=HEADERS, json=UPDATED_ITEM_LINE) +# assert put_response.status_code == 200 def test_put_Item_line_that_does_not_exist(): diff --git a/UnitTest/SupplierServiceTests.cs b/UnitTest/SupplierServiceTests.cs new file mode 100644 index 0000000..7558d08 --- /dev/null +++ b/UnitTest/SupplierServiceTests.cs @@ -0,0 +1,184 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using CargoHub.Models; +using CargoHub.Services; +using CargoHub; + +[TestClass] +public class SupplierServiceTests +{ + private AppDbContext _context; + private BaseStorageService _service; + + [TestInitialize] + public void Setup() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) + .Options; + + _context = new AppDbContext(options); + _service = new BaseStorageService(_context); + + SeedDatabase(); + } + + private void SeedDatabase() + { + _context.Suppliers.Add(new Supplier + { + Name = "Supplier 1", + Code = "W1", + Address = "123 Main St", + AddressExtra = "Suite 100", + City = "Anytown", + ZipCode = "12345", + Province = "ProvinceName", + Country = "CountryName", + ContactName = "John Doe", + Phonenumber = "123-456-7890", + Reference = "Ref123" + }); + + _context.Suppliers.Add(new Supplier + { + Name = "Supplier 2", + Code = "W1", + Address = "123 Main St", + AddressExtra = "Suite 100", + City = "Anytown", + ZipCode = "12345", + Province = "ProvinceName", + Country = "CountryName", + ContactName = "John Doe", + Phonenumber = "123-456-7890", + Reference = "Ref123" + }); + + + + _context.SaveChanges(); + } + + [TestMethod] + public async Task GetRow_ReturnsEntity_WhenEntityExists() + { + int entityId = 1; + + var result = await _service.GetRow(entityId); + + Assert.IsNotNull(result); + Assert.AreEqual(entityId, result.Id); + } + + [TestMethod] + public async Task GetRow_ReturnsNull_WhenEntityDoesNotExist() + { + int entityId = 999; // Non-existing ID + + var result = await _service.GetRow(entityId); + + Assert.IsNull(result); + } + + [TestMethod] + public async Task GetAllRows_ReturnsAllEntities() + { + var result = await _service.GetAllRows(); + + Assert.AreEqual(2, result.Count); + } + + [TestMethod] + public async Task AddRow_AddsEntity_WhenEntityIsValid() + { + var newSupplier = new Supplier { Name = "Supplier 4", + Code = "W4", + Address = "123 Main St", + AddressExtra = "Suite 100", + City = "Anytown", + ZipCode = "12345", + Province = "ProvinceName", + Country = "CountryName", + ContactName = "John Doe", + Phonenumber = "123-456-7890", + Reference = "Ref123" }; + + var resultId = await _service.AddRow(newSupplier); + + Assert.IsNotNull(resultId); + Assert.AreEqual(3, resultId); // Assuming IDs are sequential + var addedSupplier = await _service.GetRow(resultId.Value); + Assert.IsNotNull(addedSupplier); + Assert.AreEqual(newSupplier.Name, addedSupplier.Name); + } + + [TestMethod] + public async Task UpdateRow_UpdatesEntity_WhenEntityExists() + { + var updatedSupplier = new Supplier { Id=1, + Name = "Updated Supplier 1", + Code = "W1", + Address = "123 Main St", + AddressExtra = "Suite 100", + City = "Anytown", + ZipCode = "12345", + Province = "ProvincessName", + Country = "CountryName", + ContactName = "John Doe", + Phonenumber = "123-456-7890", + Reference = "Ref123" }; + + var result = await _service.UpdateRow(1, updatedSupplier); + + Assert.IsTrue(result); + var updatedEntity = await _service.GetRow(1); + Assert.AreEqual("Updated Supplier 1", updatedEntity.Name); + } + + [TestMethod] + public async Task UpdateRow_ReturnsFalse_WhenEntityDoesNotExist() + { + var updatedSupplier = new Supplier { Name = "Supplier 999", + Code = "W999", + Address = "123 Main St", + AddressExtra = "Suite 100", + City = "Anytown", + ZipCode = "12345", + Province = "ProvinceName", + Country = "CountryName", + ContactName = "John Doe", + Phonenumber = "123-456-7890", + Reference = "Ref123" }; + + var result = await _service.UpdateRow(999, updatedSupplier); + + Assert.IsFalse(result); + } + + [TestMethod] + public async Task DeleteRow_ReturnsTrue_WhenEntityExists() + { + int entityId = 1; + + var result = await _service.DeleteRow(entityId); + + Assert.IsTrue(result); + var deletedEntity = await _service.GetRow(entityId); + Assert.IsNull(deletedEntity); + } + + [TestMethod] + public async Task DeleteRow_ReturnsFalse_WhenEntityDoesNotExist() + { + int entityId = 999; // Non-existing ID + + var result = await _service.DeleteRow(entityId); + + Assert.IsFalse(result); + } +} diff --git a/UnitTest/TransferServiceTests.cs b/UnitTest/TransferServiceTests.cs new file mode 100644 index 0000000..bd072e3 --- /dev/null +++ b/UnitTest/TransferServiceTests.cs @@ -0,0 +1,124 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using CargoHub.Models; +using CargoHub.Services; +using CargoHub; + +[TestClass] +public class TransferServiceTests +{ + private AppDbContext _context; + private BaseStorageService _service; + private Transfer TransferTemp; + + [TestInitialize] + public void Setup() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) + .Options; + + _context = new AppDbContext(options); + _service = new BaseStorageService(_context); + + SeedDatabase(); + } + + private void SeedDatabase() + { + _context.Transfers.Add(new Transfer { Reference = "Transfer 1", TransferFrom = 2, TransferTo = 1 }); + _context.Transfers.Add(new Transfer { Reference = "Transfer 2", TransferFrom = 2, TransferTo = 1 }); + _context.SaveChanges(); + } + + [TestMethod] + public async Task GetRow_ReturnsEntity_WhenEntityExists() + { + int entityId = 1; + + var result = await _service.GetRow(entityId); + + Assert.IsNotNull(result); + Assert.AreEqual(entityId, result.Id); + } + + [TestMethod] + public async Task GetRow_ReturnsNull_WhenEntityDoesNotExist() + { + int entityId = 999; // Non-existing ID + + var result = await _service.GetRow(entityId); + + Assert.IsNull(result); + } + + [TestMethod] + public async Task GetAllRows_ReturnsAllEntities() + { + var result = await _service.GetAllRows(); + + Assert.AreEqual(2, result.Count); + } + + [TestMethod] + public async Task AddRow_AddsEntity_WhenEntityIsValid() + { + var newTransfer = new Transfer { Reference = "Transfer 3", TransferFrom = 2, TransferTo = 1 }; + + var resultId = await _service.AddRow(newTransfer); + + Assert.IsNotNull(resultId); + Assert.AreEqual(3, resultId); // Assuming IDs are sequential + var addedTransfer = await _service.GetRow(resultId.Value); + Assert.IsNotNull(addedTransfer); + Assert.AreEqual(newTransfer.Reference, addedTransfer.Reference); + } + + [TestMethod] + public async Task UpdateRow_UpdatesEntity_WhenEntityExists() + { + var updatedTransfer = new Transfer { Id = 1, Reference = "Updated Transfer 1", TransferFrom = 2, TransferTo = 1 }; + + var result = await _service.UpdateRow(1, updatedTransfer); + + Assert.IsTrue(result); + var updatedEntity = await _service.GetRow(1); + Assert.AreEqual("Updated Transfer 1", updatedEntity.Reference); + } + + [TestMethod] + public async Task UpdateRow_ReturnsFalse_WhenEntityDoesNotExist() + { + var updatedTransfer = new Transfer { Id = 999, Reference = "Non-existing Transfer", TransferFrom = 2, TransferTo = 1}; + + var result = await _service.UpdateRow(999, updatedTransfer); + + Assert.IsFalse(result); + } + + [TestMethod] + public async Task DeleteRow_ReturnsTrue_WhenEntityExists() + { + int entityId = 1; + + var result = await _service.DeleteRow(entityId); + + Assert.IsTrue(result); + var deletedEntity = await _service.GetRow(entityId); + Assert.IsNull(deletedEntity); + } + + [TestMethod] + public async Task DeleteRow_ReturnsFalse_WhenEntityDoesNotExist() + { + int entityId = 999; // Non-existing ID + + var result = await _service.DeleteRow(entityId); + + Assert.IsFalse(result); + } +} diff --git a/UnitTest/WarehouseServiceTests.cs b/UnitTest/WarehouseServiceTests.cs new file mode 100644 index 0000000..7cd72c7 --- /dev/null +++ b/UnitTest/WarehouseServiceTests.cs @@ -0,0 +1,168 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using CargoHub.Models; +using CargoHub.Services; +using CargoHub; + +[TestClass] +public class WarehouseServiceTests +{ + private AppDbContext _context; + private BaseStorageService _service; + + [TestInitialize] + public void Setup() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) + .Options; + + _context = new AppDbContext(options); + _service = new BaseStorageService(_context); + + SeedDatabase(); + } + + private void SeedDatabase() + { + _context.Warehouses.Add(new Warehouse + { + Name = "Warehouse 1", + Code = "W1", + Address = "456 Warehouse Rd", + Zip = "67890", + City = "Warehouse City", + Province = "ProvinceName", + Country = "CountryName" + }); + + _context.Warehouses.Add(new Warehouse + { + Name = "Warehouse 2", + Code = "W2", + Address = "456 Warehouse Rd", + Zip = "67890", + City = "Warehouse City", + Province = "ProvinceName", + Country = "CountryName" + }); + + _context.SaveChanges(); + } + + [TestMethod] + public async Task GetRow_ReturnsEntity_WhenEntityExists() + { + int entityId = 1; + + var result = await _service.GetRow(entityId); + + Assert.IsNotNull(result); + Assert.AreEqual(entityId, result.Id); + } + + [TestMethod] + public async Task GetRow_ReturnsNull_WhenEntityDoesNotExist() + { + int entityId = 999; // Non-existing ID + + var result = await _service.GetRow(entityId); + + Assert.IsNull(result); + } + + [TestMethod] + public async Task GetAllRows_ReturnsAllEntities() + { + var result = await _service.GetAllRows(); + + Assert.AreEqual(2, result.Count); + } + + [TestMethod] + public async Task AddRow_AddsEntity_WhenEntityIsValid() + { + var newWarehouse = new Warehouse { + Name = "Warehouse 2", + Code = "W2", + Address = "456 Warehouse Rd", + Zip = "67890", + City = "Warehouse City", + Province = "ProvinceName", + Country = "CountryName" + }; + + var resultId = await _service.AddRow(newWarehouse); + + Assert.IsNotNull(resultId); + Assert.AreEqual(3, resultId); // Assuming IDs are sequential + var addedWarehouse = await _service.GetRow(resultId.Value); + Assert.IsNotNull(addedWarehouse); + Assert.AreEqual(newWarehouse.Name, addedWarehouse.Name); + } + + [TestMethod] + public async Task UpdateRow_UpdatesEntity_WhenEntityExists() + { + var updatedWarehouse = new Warehouse { + Id=1, + Name = "Updated Warehouse 1", + Code = "W2", + Address = "456 Warehouse Rd", + Zip = "67890", + City = "Warehouse City", + Province = "ProvinceName", + Country = "CountryName" + }; + + var result = await _service.UpdateRow(1, updatedWarehouse); + + Assert.IsTrue(result); + var updatedEntity = await _service.GetRow(1); + Assert.AreEqual("Updated Warehouse 1", updatedEntity.Name); + } + + [TestMethod] + public async Task UpdateRow_ReturnsFalse_WhenEntityDoesNotExist() + { + var updatedWarehouse = new Warehouse { + Name = "Warehouse 2", + Code = "W2", + Address = "456 Warehouse Rd", + Zip = "67890", + City = "Warehouse City", + Province = "ProvinceName", + Country = "CountryName" + }; + + var result = await _service.UpdateRow(999, updatedWarehouse); + + Assert.IsFalse(result); + } + + [TestMethod] + public async Task DeleteRow_ReturnsTrue_WhenEntityExists() + { + int entityId = 1; + + var result = await _service.DeleteRow(entityId); + + Assert.IsTrue(result); + var deletedEntity = await _service.GetRow(entityId); + Assert.IsNull(deletedEntity); + } + + [TestMethod] + public async Task DeleteRow_ReturnsFalse_WhenEntityDoesNotExist() + { + int entityId = 999; // Non-existing ID + + var result = await _service.DeleteRow(entityId); + + Assert.IsFalse(result); + } +}