Решение:
Это предложение требует глагола в прошедшем времени, который имеет значение 'сделать' или 'дать'. Варианты: 'took', 'made', 'did', 'had'.
- took (от take) - брать, взять. Не подходит по смыслу.
- made (от make) - делать, создавать. 'Made a promise' - дать обещание. Это подходит по смыслу.
- did (от do) - делать. 'Did a promise' - некорректно.
- had (от have) - иметь. 'Had a promise' - иметь обещание. Не подходит для действия.
Правильный вариант - 'made', так как устойчивое выражение 'make a promise' означает 'дать обещание'.
Ответ: made