In a large mixing bowl, combine the flour and salt, then create a well in the center and add the eggs and olive oil. Gradually mix in the flour until a dough forms.
Knead the dough on a lightly floured surface for about 5-7 minutes until it is smooth. Wrap it in plastic wrap and let it rest for 30 minutes.
In a frying pan, heat a tablespoon of olive oil over medium heat. Add the chopped mushrooms and garlic, sautéing until the mushrooms are softened and browned (about 5-7 minutes). Remove from heat and let cool.
In a bowl, mix the sautéed mushrooms, ricotta cheese, and Parmesan. Season with salt and pepper to taste.
After resting, divide the dough into quarters. Roll out one portion on a floured surface until it is thin enough to see your hand through it. Repeat with the remaining dough.
Place teaspoons of the filling about 1 inch apart on one sheet of rolled dough. Moisten the edges with water, then cover with another sheet of dough. Press between the filling to seal and cut into squares or circles using a knife or pasta cutter.
Bring a large pot of salted water to a boil. Carefully drop in the ravioli and cook for about 4-5 minutes until they float to the top. Use a slotted spoon to remove and let drain in a colander.
In a saucepan, heat olive oil and butter over medium heat. Add the spinach, cooking until wilted (2-3 minutes). Season with salt and pepper.
Gently toss the cooked ravioli with the spinach sauce. Serve warm with additional grated Parmesan cheese on top if desired.