product factory test for overriding charge_type