A functional equation in a TST exam Find all functions $f:\Bbb {R} \rightarrow \Bbb {R} $ such that:
   $$f(f(xy-x))+f(x+y)=yf(x)+f(y)$$
Source: 2018 Hong Kong TST 2 problem 3

I recently proved that $f(x+1)=f(x)+f(1).$

To recap your result: setting $x=y=0$ shows us that
\begin{align*}
f(f(0))+f(0)&=0\cdot f(0)+f(0) \\
f(f(0))+f(0)&=f(0) \\
f(f(0))&=0.
\end{align*}
Now from the original equation we set $y=1$ to obtain
\begin{align*}
f(f(0))+f(x+1)&=f(x)+f(1) \\
f(x+1)&=f(x)+f(1).
\end{align*}
Let us set $x=0$ in this equation to obtain
\begin{align*}
f(1)&=f(0)+f(1) \\
0&=f(0).
\end{align*}
So the function must go through the origin.
$f(x+1)=f(x)+f(1)$ is a straight-forward recurrence relation. If we assume $f(x)=b\cdot a^x$ and plug in, we obtain
\begin{align*}
b\cdot a^{x+1}&=b\cdot a^{x}+b\cdot a \\
a^{x+1}&=a^x+a \\
a^{x+1}-a^x-a&=0.
\end{align*}
This must hold for $x=1,$ which forces $a^2-a-a=0,$ or $a^2-2a=0,$ the solutions of which are $a=0,$ not very exciting, or $a=2,$ which is much more interesting. Indeed, we can handle the $a=0$ case by simply letting $b=0$. So we will say that the solutions are $$f(x)=b\cdot 2^x.$$
We can say something more, though: we proved that the function must go through the origin. In looking at this formula, it is evident that the trivial solution is the only solution of this type, since $2^x\not=0.$ Hence, one answer is that 
$$\boxed{f(x)=0\quad\forall\,x\in\mathbb{R}.} $$
Another special answer (thanks to mfl in the comments!) we can obtain by inspection: $\boxed{f(x)=x},$ the identity function. To see this, we compute:
\begin{align*}
f(f(xy-x))+f(x+y)&=yf(x)+f(y) \\
f(xy-x)+x+y&=yx+y \\
xy-x+x+y&=yx+y \\
xy+y&=xy+y,
\end{align*}
which is true.
