Tip the flour and salt into a large bowl, add the cubes of butter and rub the butter into the flour using your fingertips, until the mixture resembles breadcrumbs.
Gradually stir in 150ml/5fl oz cold water, until the mixture comes together as a soft dough (you may not need all the water). Use your hands to pat the dough into a 2cm/¾in thick rectangular block.
Roll out the dough onto a lightly floured work surface to a rectangle measuring about 30x20cm/12x8in. Sandwich the remaining block of butter between two pieces of greaseproof paper. Using a rolling pin, roll or bash it out to a rectangle measuring about 15x20cm/6x8in.
Place the flattened butter into the centre of the rolled pastry. Fold one edge of the pastry over the butter to half-cover it, then fold the other edge of the pastry over the butter to cover the other half, so that the two edges of pastry meet. Pinch together the top and bottom edges of the pastry to seal the butter inside.
Fold the pastry in half lengthways, then turn the pastry 90 degrees to the right (a quarter-turn). Roll out the pastry again to a rectangle measuring about 30x20cm/12x8in.
Fold the pastry as before, bringing each edge into the centre so that the edges meet, then folding in half lengthways, before giving the pastry a quarter-turn.
Repeat the rolling and folding process once more, then wrap the pastry in cling film and chill in the fridge for 1 hour.
For the beef Wellington, preheat the oven to 100C/80C Fan/Gas ½.
Heat the oil in frying pan over a high heat. Quickly fry the beef fillet, turning it every few seconds, until browned on all sides.
Cut 4 large pieces of aluminium foil big enough to roll the beef fillet in, and place them on top of each other. Place the beef fillet in the centre and wrap it very tightly to form a cylinder, twisting the ends to secure. Place the wrapped beef fillet on a baking tray and roast for 1 hour. Remove the beef from the oven, set aside until cooled to room temperature, then chill in the fridge until completely cold.
Meanwhile, heat a knob of butter in a frying pan over a medium heat. When the butter is foaming, add the chopped mushrooms and tarragon and fry for 1-2 minutes, or until all of the liquid has evaporated and the mushrooms have softened. Transfer the mushrooms to a bowl and wipe the pan with a piece of kitchen roll.
Add a little more butter to the pan and fry the spinach for 1 minute, or until just starting to wilt. Remove the pan from the heat and continue to stir the spinach until completely wilted. Transfer to a bowl and set aside.
Next, make the pancakes. Place the 2 whole eggs and the flour in a bowl and whisk together until well combined. Gradually whisk in the milk until the mixture forms a smooth batter that is thick enough to coat the back of a spoon.
Heat a knob of butter in a frying over a high heat. When the butter is foaming and starting to smoke, add a ladleful of the pancake batter and swirl the pan to evenly coat the base. Fry for 1-2 minutes, or until the underside of the pancake is golden-brown. Flip the pancake over and cook for a further minute, or until the pancake is cooked through and golden-brown all over. Slide the pancake out onto a plate lined with greaseproof paper, then cover it with another layer of greaseproof paper. Repeat the process with the remaining butter and pancake batter.
Place the chicken liver pâté in a bowl and beat until smooth and soft.
Increase the oven temperature to 230C/210C Fan/Gas 8.
Roll out the puff pastry on a lightly floured work surface to a rectangle measuring 40x50cm/16x20in with a thickness of 2-3mm (it needs to be large enough to wrap the beef fillet).
Arrange the pancakes all over the pastry, overlapping the edges slightly and leaving a 2½cm/1in border free at the edge. Trim the overlapping edges of the pancakes using a sharp knife so they sit in one even layer.
Spread the softened pâté in an even layer all over the pancakes. Arrange a layer of wilted spinach on top. Spread the cooked mushrooms on top of the spinach. Season with salt and pepper. Finally, peel the foil from the beef fillet and place it in the centre.
Whisk the egg yolks in a bowl, then brush them around the pastry border. Tightly roll the beef fillet in the pastry, ensuring the seal sits at the bottom of the Wellington. Tuck the ends underneath the Wellington without trimming them. Transfer the Wellington to a baking tray lined with baking paper and brush all over with the remaining beaten egg yolks. If desired, decorate with pastry trimmings.
Bake the beef Wellington for 20-25 minutes (for medium beef), or until the pastry has risen and is golden-brown. Leave to rest before serving.
Meanwhile for the Madeira jus, heat a saucepan, once hot add the butter, once melted add the shallot and cook for 2-3 minutes. Deglaze with the Madeira and then add the stock. Cook until reduced by half.
For the ceps, heat a large griddle pan until hot. Drizzle the oil over the mushrooms and place on the griddle pan. Cook on each side for 1-2 minutes.
To serve, carve the beef Wellington into thick slices and place each into the centre of a serving plate. Drizzle the Madeira sauce around the edge of the plates and garnish with the ceps.