I believe you do a type while configuring which files are considered as main and which files are considered as test files.
Only main files should expect to receive coverage data and by default SonarQube will consider that a file where no coverage data were given is covered at 0%. This explain why you see 0% on some test files.
Once these files will be correctly considered as test files, no coverage data will be expected on them.
Can you share your entire sonar-project.properties (formatted as code in this forum) and a screenshot of where you see this “0” coverage?
Thanks
Note: make sure to use the latest version of SonarQube (8.2 as of now) and the latest version of SonarJS analyzer - 6.2 (which performs the TypeScript analysis) to get the best of what we do.