The US House of Representatives approved a defence policy bill that would restrict President Donald Trump’s ability to authorise a military strike on Iran.