|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>UAT Testing - TestCaseMaster Pro</title> |
|
|
<link rel="stylesheet" href="style.css"> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<script src="https://unpkg.com/feather-icons"></script> |
|
|
<script src="components/navbar.js"></script> |
|
|
<script src="components/sidebar.js"></script> |
|
|
<script src="components/test-case-item.js"></script> |
|
|
</head> |
|
|
<body class="bg-gray-50"> |
|
|
<custom-navbar></custom-navbar> |
|
|
|
|
|
<div class="flex"> |
|
|
<custom-sidebar></custom-sidebar> |
|
|
|
|
|
<main class="flex-1 p-8"> |
|
|
<div class="flex justify-between items-center mb-8"> |
|
|
<h1 class="text-3xl font-bold text-gray-800">User Acceptance Testing</h1> |
|
|
<button class="bg-purple-600 hover:bg-purple-700 text-white px-4 py-2 rounded-lg flex items-center"> |
|
|
<i data-feather="plus" class="mr-2"></i> Create UAT Test |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white rounded-lg shadow p-6 mb-6"> |
|
|
<div class="flex items-center justify-between mb-4"> |
|
|
<h2 class="text-xl font-semibold">UAT Dashboard</h2> |
|
|
<div class="flex items-center space-x-4"> |
|
|
<div class="relative"> |
|
|
<input type="text" placeholder="Search UAT tests..." |
|
|
class="pl-10 pr-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent"> |
|
|
<i data-feather="search" class="absolute left-3 top-2.5 text-gray-400"></i> |
|
|
</div> |
|
|
<select class="border border-gray-300 rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500"> |
|
|
<option>All User Groups</option> |
|
|
<option>Business Users</option> |
|
|
<option>End Customers</option> |
|
|
<option>Administrators</option> |
|
|
</select> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mt-6"> |
|
|
<div class="bg-purple-50 p-4 rounded-lg"> |
|
|
<div class="text-purple-800 font-semibold">Total UAT Tests</div> |
|
|
<div class="text-2xl font-bold">76</div> |
|
|
</div> |
|
|
<div class="bg-green-50 p-4 rounded-lg"> |
|
|
<div class="text-green-800 font-semibold">Approved</div> |
|
|
<div class="text-2xl font-bold">42</div> |
|
|
</div> |
|
|
<div class="bg-red-50 p-4 rounded-lg"> |
|
|
<div class="text-red-800 font-semibold">Rejected</div> |
|
|
<div class="text-2xl font-bold">18</div> |
|
|
</div> |
|
|
<div class="bg-yellow-50 p-4 rounded-lg"> |
|
|
<div class="text-yellow-800 font-semibold">Pending</div> |
|
|
<div class="text-2xl font-bold">16</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 gap-4" id="uat-tests-container"> |
|
|
|
|
|
</div> |
|
|
</main> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
feather.replace(); |
|
|
|
|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
loadUATTests(); |
|
|
}); |
|
|
|
|
|
function loadUATTests() { |
|
|
const container = document.getElementById('uat-tests-container'); |
|
|
container.innerHTML = ''; |
|
|
|
|
|
const uatTests = [ |
|
|
{ |
|
|
id: 201, |
|
|
title: 'Order Placement Workflow', |
|
|
description: 'Validate complete order placement by end customers', |
|
|
priority: 'Critical', |
|
|
status: 'Approved', |
|
|
type: 'UAT', |
|
|
userGroup: 'End Customers', |
|
|
lastRun: '3 days ago' |
|
|
}, |
|
|
{ |
|
|
id: 202, |
|
|
title: 'Reporting Dashboard', |
|
|
description: 'Verify business reporting functionality', |
|
|
priority: 'High', |
|
|
status: 'Rejected', |
|
|
type: 'UAT', |
|
|
userGroup: 'Business Users', |
|
|
lastRun: '5 days ago' |
|
|
}, |
|
|
{ |
|
|
id: 203, |
|
|
title: 'Admin Configuration', |
|
|
description: 'Test system configuration by administrators', |
|
|
priority: 'Medium', |
|
|
status: 'Pending', |
|
|
type: 'UAT', |
|
|
userGroup: 'Administrators', |
|
|
lastRun: 'Not run yet' |
|
|
} |
|
|
]; |
|
|
|
|
|
uatTests.forEach(test => { |
|
|
const el = document.createElement('test-case-item'); |
|
|
el.setAttribute('data', JSON.stringify(test)); |
|
|
container.appendChild(el); |
|
|
}); |
|
|
} |
|
|
</script> |
|
|
<script src="script.js"></script> |
|
|
</body> |
|
|
</html> |