wp_reset_postdata() does not work as expected

If this should be your main loop, the preferable way to modify the main loop is to use the pre_get_posts filter. For a secondary, it’s okay to use WP_Query, but you’re setting query arguments the wrong way. WP_Query expects an array of arguments.

$args = array(
    'cat' => 1
);
$general_posts = new WP_Query( $args );

You can read more about WP_Query here.