So a bitcoin private key is actually a random integer between 1 and 2^256 right and bitcoin wallet generate it randomly by using PRNG.
A little lower than 2^256, and yes.
Ok so what's stopping PRNG from choosing say a random integer between 1 and 100000? Won't that make your private key insecure?
Cryptographically secure pseudo-random number generators aren't really random, and that's why they will never return you number 1000000 (e.g.) in such a large given range. The numbers they return
look random.
How to make sure the private key generated by bitcoin wallet is high quality?
You can put some trust in the experts around cryptography, using clean OS and vulnerability-free hardware, and make usage of the system's internal CSPRNG. Otherwise, you can roll a fair dice, and generate the entropy yourself, provably randomly.