For the past nine months, Thami has been employed on a three-month contract, which has been renewed twice. At the end of the third three-month period, he is told that the company will not be renewing the contract. However the company employs someone else for the next three months to do exactly the same job as Thami.
By renewing Thami’s contract twice, the company has created a reasonable expectation that the contract will be renewed again unless work for which he was employed, has come to an end. By asking Thami to leave because his contract is up, while replacing him with someone else, this means that Thami has in fact been unfairly dismissed. This is an unfair dismissal which is covered by the Labour Relations Act (LRA). Thami can challenge the dismissal in terms of the LRA.
(See: Automatically Unfair Dismissals)
You can help Thami first by writing a letter to the employer stating that he believes he has been unfairly dismissed. If the employer refuses to reinstate him then you can help Thami to apply for reinstatement or compensation through the CCMA ora Bargaining Council. (See: Problem 4: Dismissed Employee Wants the Job Back; What Steps Can Be Taken if There Is an Unfair Dismissal?; Solving Disputes Under the LRA)