Disable send button when user has made no changes

Bug: Issue 6336
Change-Id: I9a3003f0084141d72d899ac6d01d89de79a90704
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html
index 0f90019..9a83259 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html
@@ -55,6 +55,8 @@
       stub('gr-rest-api-interface', {
         getConfig() { return Promise.resolve({}); },
         getAccount() { return Promise.resolve({}); },
+        getChange() { return Promise.resolve({}); },
+        getChangeSuggestedReviewers() { return Promise.resolve([]); },
       });
 
       element = fixture('basic');
@@ -1007,5 +1009,20 @@
         });
       });
     });
+
+    test('_computeSendButtonDisabled', () => {
+      const fn = element._computeSendButtonDisabled.bind(element);
+      assert.isTrue(fn('not-latest'));
+      assert.isFalse(fn('latest', 'Start review'));
+      assert.isTrue(fn('latest', 'Send', [], '', false, false));
+      // Mock nonempty comment draft array.
+      assert.isFalse(fn('latest', 'Send', ['test'], '', false, false));
+      // Mock nonempty change message.
+      assert.isFalse(fn('latest', 'Send', [], 'test', false, false));
+      // Mock reviewers mutated.
+      assert.isFalse(fn('latest', 'Send', [], '', true, false));
+      // Mock labels changed.
+      assert.isFalse(fn('latest', 'Send', [], '', false, true));
+    });
   });
 </script>