Cook the pasta shells in a large pan of water until al dente (they need to be pliable, but preferably just short of being fully cooked). Drain, and cover with cold water.
In a mixing bowl, combine the black beans, sweetcorn, chopped coriander, and ricotta cheese. Season generously with salt and pepper, and mix well to combine.
To make the homemade enchilada sauce, heat the oil in a small saucepan, and add the flour, spices and tomato puree. Whisk over a low heat to give a thick paste. Add the vegetable stock a little at a time, whisking until smooth each time before adding more. Season to taste.
To assemble, add a couple of tablespoons of the enchilada sauce to the bottom of a baking dish (mine measured around 8 x 8 inches). Spread it around to give a thin coating of sauce - this helps to stop the pasta sticking. Stuff each pasta shell with a spoonful of the ricotta mixture, and arrange them in the dish. Pour over the remaining sauce, trying to make sure the pasta is fully covered with a thin layer of sauce, especially any edges or corners.
Top the pasta with some sliced mozzarella and grated cheddar, and a few slices of tomato. Bake at 190°C (Gas Mark 5 / 375°F) for around 40 minutes, or until the cheese is golden brown and crispy.