Skip to content
Merged

Test #16

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ jobs:
build:
runs-on: ubuntu-latest

env:
DJANGO_SECRET_KEY: ${{ secrets.DJANGO_SECRET_KEY }}
DJANGO_DEBUG: True
DJANGO_ALLOWED_HOSTS: localhost,127.0.0.1
DATABASE_URL: ${{ secrets.DATABASE_URL }}


steps:
- uses: actions/checkout@v4

Expand All @@ -26,4 +33,4 @@ jobs:
- name: Run Django Tests
working-directory: ./warehouse_managment
run: |
python manage.py test --keepdb
python manage.py test product/tests warehouse_managment/tests --keepdb
1 change: 1 addition & 0 deletions warehouse_managment/product/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# __init__.py file for the product tests package
55 changes: 55 additions & 0 deletions warehouse_managment/product/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from product.models import Product, ProductCategory, SupplierProduct

class ProductTests(APITestCase):
def setUp(self):
# Create test data
self.category = ProductCategory.objects.create(category_name="Electronics")
self.product = Product.objects.create(product_name="Laptop", unit_price=1000.00, category=self.category)
self.supplier_product = SupplierProduct.objects.create(supplier_id=1, product=self.product, maximum_capacity=100, supplier_price=900.00)

def test_product_list(self):
url = reverse('product-list')
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)

def test_product_detail(self):
url = reverse('product-detail', args=[self.product.id])
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['product_name'], "Laptop")

def test_category_list(self):
url = reverse('category-list')
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)

def test_category_detail(self):
url = reverse('category-detail', args=[self.category.id])
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['category_name'], "Electronics")

def test_supplier_product_list(self):
url = reverse('supplier-product-list')
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)

def test_update_supplier_product(self):
url = reverse('update-supplier-product')
data = {
'supplier_id': 1,
'product_id': self.product.id,
'maximum_capacity': 150
}
response = self.client.post(url, data, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.supplier_product.refresh_from_db()
self.assertEqual(self.supplier_product.maximum_capacity, 150)


Empty file.
46 changes: 46 additions & 0 deletions warehouse_managment/warehouse_managment/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from warehouse.models import Warehouse, WarehouseInventory, InventoryTransaction
from product.models import Product, ProductCategory

class WarehouseTests(APITestCase):
def setUp(self):
# Create test data
self.category = ProductCategory.objects.create(category_name="Electronics")
self.product = Product.objects.create(product_name="Laptop", unit_price=1000.00, category=self.category)
self.warehouse = Warehouse.objects.create(location_x="10", location_y="20", warehouse_name="Main Warehouse")
self.inventory = WarehouseInventory.objects.create(warehouse=self.warehouse, product=self.product, supplier_id=1, quantity=50)
self.transaction = InventoryTransaction.objects.create(inventory=self.inventory, transaction_type='INCOMING', quantity_change=50, created_by="Test User")

def test_warehouse_list(self):
url = reverse('warehouse-list')
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)

def test_warehouse_inventory_list(self):
url = reverse('inventory-list')
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)

def test_transaction_list(self):
url = reverse('transaction-list')
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)

def test_supplier_dashboard(self):
url = reverse('supplier-dashboard') + '?supplier_id=1'
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)



# def test_supplier_inventory(self):
# url = reverse('supplier-inventory') + '?supplier_id=1'
# response = self.client.get(url)
# self.assertEqual(response.status_code, status.HTTP_200_OK)
# self.assertEqual(len(response.data), 1)