Undercover testing at hundreds of pubs and bars revealed some drinkers were not being poured what they paid for.