/* Exam detail page (exam-N.html) — English UI */ const ExamDetail = ({ examNum, unlocked = true }) => { const ex = BA.EXAMS.find(e => e.num === examNum) || BA.EXAMS[0]; const isFree = ex.num === 1; // Per-skill access: only Writing & Speaking are paid for exams 2+. // For the demo we don't have a real "plan check", so default to: paid skills locked when exam !== 1. const skillIsUnlocked = (key) => window.isSkillUnlocked(ex.num, key, false); // Demo state — Exam 1 (free) shows progress, others show "ready to start" const skillsState = isFree ? [ { ...BA.SKILLS[0], status: 'done', score: '24/30', auto: true }, { ...BA.SKILLS[1], status: 'done', score: '21/29', auto: true }, { ...BA.SKILLS[2], status: 'progress', score: null, auto: true }, { ...BA.SKILLS[3], status: 'todo', score: null, auto: false }, { ...BA.SKILLS[4], status: 'todo', score: null, auto: false }, ] : BA.SKILLS.map((s, i) => ({ ...s, status: 'todo', score: null, auto: i < 3, locked: !skillIsUnlocked(s.key), })); const done = skillsState.filter(s => s.status === 'done').length; const pct = Math.round((done / 5) * 100); return (
{/* Breadcrumb */}
Inicio · Exámenes · {ex.name}
{/* Top */}
{ex.name} {isFree && · Free}

{ex.name} Aptis General Practice Test

Full simulation with the five Aptis General skills. Take the parts in any order you like — your progress saves automatically. Recommended total time: 2 h 30 min.

Start with Grammar & Vocabulary View my results
2 h 30 min total
CEFR A1–C1
Progress saved
{isFree && (
No expiration
)}
{/* Progress card */}
{isFree ? 'Free exam · No expiration' : 'Your progress'}
{pct} % {done} of 5 skills
{isFree ? ( <>
Status Free · Always available
Started 12 Mar 2026
Expires Never · Free exam
) : ( <>
Purchased 12 Mar 2026
Last activity
Expires 10 Jun 2026 · 86 days left
)}
{/* Skills */}

Exam sections

Take them in any order. Each section saves automatically when you submit.

{skillsState.map((s, i) => { const ic = SkillIconForKey(s.key); return (
Section {i + 1}
{s.name}
{s.meta}
{s.status === 'done' && ( Completed · {s.score} )} {s.status === 'progress' && ( In progress )} {s.status === 'todo' && ( Not started )}
{s.status === 'done' ? 'Review' : s.status === 'progress' ? 'Continue' : 'Start'}
{!s.auto && (
Human marking · response in 24 h
)}
); })}
{/* Tips */}
Tip

How to get the most out of this simulation

  • Try to do all sections in a single sitting — it simulates real exam conditions.
  • For Listening, play each audio a maximum of twice. Don't read the questions until after the first listen.
  • In Writing, respect the word limits — length counts as much as content.
  • In Speaking, speak naturally. Clear, direct answers beat long answers full of hesitations.
); }; window.ExamDetail = ExamDetail;