It typically takes 4-6 months for a puppy to be fully house trained, but some puppies may take up to a year. Size can be a predictor. For instance, smaller breeds have smaller bladders and higher metabolisms and require more frequent trips outside. Your puppy's previous living conditions are another predictor. You may find that you need to help your puppy break old habits in order to establish more desirable ones.
If your dog isn’t giving you an obvious signal that they need to go out (like whining at the door) I suggest teaching them to ring a bell when they need to go outside. Some of the other signs dogs give that they need to go out such as pacing around or circling can be easy to miss if they’re in another room, which is why a noise based signal such as ringing a bell can make things easier.
One of the biggest mistakes new puppy owners make is expecting their puppy to hold it for longer than he is physically capable. The general guideline for puppy “hold times” is that each month of age equates to an hour of “hold time,” so a two-month-old puppy can hold it for roughly two hours. There are exceptions to the rule; your puppy should be able to hold it for slightly longer period of time at night as he gets older and you pup will need potty breaks more frequently when he’s playing.
Don’t punish your dog if they pee inside. Regardless of all those old training ideas punishment isn’t a good deterrent for house training. Yelling at your dog after the fact just confuses them and makes them nervous around you. If you catch your did in the act you can try to get their attention & move them outdoors. If you’re successful & they continue going once you get outside praise them like crazy.