You can just test the fact that there is a job queued for unpacking when you create or update your model
it "should enqueue job to unpack test on s3 on creating <model_name>" do
Resque.should_receive(:enqueue).with(UnpackTestOnS3, <parent_id>)
end
it "should enqueue job to unpack test on s3 on updating <model_name>" do
Resque.should_receive(:enqueue).with(UnpackTestOnS3, <parent_id>)
end
it "should not enqueue job to unpack test on s3 when the <model_name>'s parent is not for test" do
Resque.should_not_receive(:enqueue).with(UnpackTestOnS3, <parent_id>)
end