fix bug & add mix-chain/promise test