Surely once they have accepted the documents to be in order, they cannot mid journey change their minds without taking some of the responsibility and at least cost of flights.
Yes, they can.
When you bought the ticket, you agreed to airline’s contract of carriage. See https://www.emirates.com/us/english/images/usa_published_november_2014_tcm272-194795.pdf section 7.1.1. perhaps.
In general it’s always the passenger’s responsibility to make sure that they have proper documentation for entering their destination (plus any transit location if applicable).
Unfortunately, COVID has made this way more difficult than it already was. Rules and regulations change frequently, are hard to understand, and are poorly documented, published, and communicated. As far as I can tell, Switzerland currently doesn’t allow entry from a high risk areas (which includes South Africa). There are potential exemption mechanisms but they are complicated.
Your next step depends on WHY they denied your boarding. If your partner was indeed NOT eligible to enter Switzerland, they did what they had to do: If your partner would have showed up at the Swiss border and been refused entry, Emirates would have been fined
a hefty fine and you would still have been stuck and turned around but even further away from home.
You could argue that the staff in JNB should have caught this already, but it’s also not reasonable to assume that a field office is familiar with every Covid regulation in every possible destination. They probably just use Timatic or an internal data base, which have a hard time keeping up with the changes and the complexity of the rules. Dubai is Emirates’ hub and you probably got checked by people who are fully up to speed on Swiss regulations.
In any case, it’s YOUR responsibility to ensure you can legally enter your destination: the airlines checks documents as a service to you and to avoid fines, but they are not responsible nor can they make an entry decision.
Things are different, however, if your partner actually WAS eligible to enter Switzerland, and Emirates denied you boarding by mistake. That’s called “Involuntary Denied Boarding” and you have quite a few rights in this case: refund, rebooking, alternative flights, delay/cancellation compensation (EU261), etc.
So I guess your next step would be to determine whether your partner was eligible to enter Switzerland or not. Here is the legal document that covers it https://www.admin.ch/opc/en/classified-compilation/20201773/index.html#id-ni2-2