Heat the oil in a large frying pan and add the onion and red pepper. Cook over a medium heat for 5 minutes then add the diced aubergine and fry for another 5 minutes, stirring often.
Add the spices, chilli and garlic and stir and fry for a minute then add the tomatoes and soy sauce. Simmer for about 10 minutes until the aubergine is tender.
Add the drained beans to the pan and cook for a few more minutes. Season well and remove from the heat then stir in the chocolate until it has just melted. Serve immediately.