# `test.fake_unused`

Test left a faked operation's scripted answers unused.

Area 13, [Testing](../topics/testing.md); not declinable; the next step is usually the agent's.

A test that otherwise passed left answers its `fakes:` scripts for an
operation untaken: the code made fewer calls than
the test says.













```jadpo
use app { couriers }
use shipping/failures { SlotGone }

test "a taken slot is the app's own failure" {
    fakes: {
        couriers.bookings.create: [slot_taken, unavailable]
    }
    assert book("N1 9GU") fails SlotGone
}
```

```text
FAIL  a taken slot is the app's own failure
 --> domains/shipping/actions/book.test.jadpo:6

  fake: `couriers.bookings.create` was called once, and its `fakes:` scripts 2 answers
  reason: Each scripted answer is for a call the test expects, so one left over means the code calls the operation less often than the test says.
  next: Remove the answers no call takes, or find why the code doesn't call `couriers.bookings.create` (agent)

  rule: test.fake_unused
  rerun: jadpo test domains/shipping/actions/book.test.jadpo:6 --seed 1

test failed: 1 failed, 1 action test
```
