< Summary - Frontend Coverage Report (Windows)

Information
Class: src\components\MaintenanceHistory.js
Assembly: Default
File(s): src\components\MaintenanceHistory.js
Line coverage
100%
Covered lines: 50
Uncovered lines: 0
Coverable lines: 50
Total lines: 50
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

File(s)

src\components\MaintenanceHistory.js

#LineLine coverage
 11import React from 'react';
 12import { useMaintenance } from '../context/MaintenanceContext.js';
 13import { History, User, Calendar, ClipboardList } from 'lucide-react';
 14
 15export function MaintenanceHistory() {
 176    const { maintenanceLogs } = useMaintenance();
 177
 178    return (
 179        <div style={{ padding: '15px', backgroundColor: 'white', borderRadius: '12px', marginTop: '20px' }}>
 1710            <div style={{ display: 'flex', alignItems: 'center', gap: '10px', marginBottom: '20px' }}>
 1711                <History size={20} color="#3498db" />
 1712                <h3 style={{ margin: 0 }}>Maintenance History</h3>
 1713            </div>
 1714
 1715            <div style={{ maxHeight: '300px', overflowY: 'auto' }}>
 1716                {(maintenanceLogs && Array.isArray(maintenanceLogs) && maintenanceLogs.length > 0) ? (
 117                    maintenanceLogs.map((log) => (
 118                        <div key={log.id} style={{
 119                            padding: '12px',
 120                            borderBottom: '1px solid #eee',
 121                            display: 'grid',
 122                            gridTemplateColumns: '120px 1fr',
 123                            gap: '15px'
 124                        }}>
 125                            <div style={{ fontSize: '0.8rem', color: '#7f8c8d' }}>
 126                                <div style={{ display: 'flex', alignItems: 'center', gap: '5px' }}>
 127                                    <Calendar size={12} /> {log.date}
 128                                </div>
 129                                <div style={{ display: 'flex', alignItems: 'center', gap: '5px', marginTop: '4px' }}>
 130                                    <User size={12} /> {log.performer}
 131                                </div>
 132                            </div>
 133                            <div>
 134                                <div style={{ fontWeight: '600', color: '#2c3e50', fontSize: '0.9rem' }}>
 135                                    {log.description}
 136                                </div>
 137                                <div style={{ fontSize: '0.75rem', color: '#95a5a6', marginTop: '5px' }}>
 138                                    <ClipboardList size={12} style={{ verticalAlign: 'middle', marginRight: '4px' }} />
 139                                    Machine ID: {log.machine_id}
 140                                </div>
 141                            </div>
 142                        </div>
 143                    ))
 1644                ) : (
 1645                    <p style={{ textAlign: 'center', color: '#95a5a6', padding: '20px' }}>No history records found.</p>
 1746                )}
 1747            </div>
 1748        </div>
 1749    );
 1750}

Methods/Properties

MaintenanceHistory