Hyo:

but in the test set the output after applying the sigmoid the values are all zeros none is 1


By “zeroes” do you mean 0.something? Cause this would be the expected behavior. Remember, 0.5 is your threshold.
After the sigmoid your values should be in a range between 0 and 1 (so not exceeding 1.0).
After np.round they should be either 0 or 1 (everything from 0.0 to 0.5 will become 0 and everything from >0.5 to 1.0 will become 1. So 0.5 is your threshold here).