The first sentence is correct.
For the second you say rather "Le poisson était délicieux."; you might still say "a été" and it is not incorrect, but it is not usual to hear French people say it. Let's see about trying to make that somewhat clearer.
When you consider actions or states in the past as ponctual you use the "passé composé" (in theory); in English too, the perfect is used for actions that one considers as ponctual, even if in reality they have a developement over a period of time. (This football team played well in 2013._ Cette équipe de football a bien joué en 2013.). That is the reason why the two tenses correspond.
When the action or state is an action considered over a period of time in the past you use the "imparfait". Then in English you use the perfect progressive.
Il parlait de choses et d'autres, je ne sais pas… (He was talking about one thing or another, I don't know…)
C'était hier, nous sommes arrivés le matin, il se levait. (It was yesterday, we arrived in the morning, he was getting up.) (We see that in this exemple the theory "passé composé/perfect" fails for the verb "être";)
The French just choose to consider certain states as states that have lasted in the past and not as ponctual states; this is true for meals but not just for meals.
La mer était belle, nous nous sommes bien amusés. _ Le déroulement de la réception a été parfait, on était littéralement à nos petit soins en permanence.
An addition on usage concerning the second sentence
To express that the fish is delicious while you are eating the fish you have two possibilities; the first, a plain statement in the present (state present) is "Le poisson est délicieux.". The second consists in using the "futur antérieur": "Le poisson aura été délicieux."; (You expect that it'll be delicious to the end of the meal, which is a safe expectation.)