You have to change the field separator before you read the record or you have to force awk to re-evaluate the record to make the change in FS take effect. So, either of the following should work:
or gawk '{FS="-";$1=$1} {print $2 " " $3 " " $1}' < test
Note that there is no need to use cat and a pipeline instead of the simple command letting awk open the file itself or using redirection in the shell to set the input file before kicking off awk.