You are paying, so I guess you have the right to be upset, but life will be nicer if you give the shop the benefit of the doubt.
3 week sounds like a long time for a bike to be shipped anywhere in the US, ao you might just want to make sure that it is indeed coming.
In most instances like this, I find that if you tend to let them know you are disappointed in a subtle way, a retailer may give you a deal on the price...
I have seen a former in-law get his way by being a dick, but I also saw some retailers dig their heels in and basically tell him to take his business elsewhere....