Merge "PolyGerrit: Update create dialog"
diff --git a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.html b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.html
index 8bceff1..9f5df11 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.html
@@ -24,7 +24,6 @@
 <link rel="import" href="../../core/gr-navigation/gr-navigation.html">
 <link rel="import" href="../../shared/gr-autocomplete/gr-autocomplete.html">
 <link rel="import" href="../../shared/gr-button/gr-button.html">
-<link rel="import" href="../../shared/gr-confirm-dialog/gr-confirm-dialog.html">
 <link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
 <link rel="import" href="../../shared/gr-select/gr-select.html">
 
@@ -102,17 +101,7 @@
             <input
                 type="checkbox"
                 id="privateChangeCheckBox"
-                checked$="[[_repoConfig.private_by_default.inherited_value]]">
-          </span>
-        </section>
-        <section>
-          <label
-              class="title"
-              for="wipChangeCheckBox">WIP Change</label>
-          <span class="value">
-            <input
-                type="checkbox"
-                id="wipChangeCheckBox">
+                checked$="[[_formatBooleanString(_repoConfig.private_by_default)]]">
           </span>
         </section>
       </div>
diff --git a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.js b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.js
index eace34a..367d324 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.js
+++ b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.js
@@ -61,13 +61,11 @@
 
     handleCreateChange() {
       const isPrivate = this.$.privateChangeCheckBox.checked;
-      const isWip = this.$.wipChangeCheckBox.checked;
+      const isWip = true;
       return this.$.restAPI.createChange(this.repoName, this.branch,
           this.subject, this.topic, isPrivate, isWip)
           .then(changeCreated => {
-            if (!changeCreated) {
-              return;
-            }
+            if (!changeCreated) { return; }
             Gerrit.Nav.navigateToChange(changeCreated);
           });
     },
@@ -94,5 +92,21 @@
             return branches;
           });
     },
+
+    _formatBooleanString(config) {
+      if (config && config.configured_value === 'TRUE') {
+        return true;
+      } else if (config && config.configured_value === 'FALSE') {
+        return false;
+      } else if (config && config.configured_value === 'INHERIT') {
+        if (config && config.inherited_value) {
+          return true;
+        } else {
+          return false;
+        }
+      } else {
+        return false;
+      }
+    },
   });
 })();
diff --git a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.html b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.html
index afe3801..4a51d8f 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.html
@@ -55,9 +55,12 @@
         },
       });
       element = fixture('basic');
-      element.repoName = 'test-repo';
+      element.repoName = 'test-repo',
       element._repoConfig = {
-        private_by_default: {},
+        private_by_default: {
+          configured_value: 'FALSE',
+          inherited_value: false,
+        },
       };
     });
 
@@ -65,18 +68,57 @@
       sandbox.restore();
     });
 
-    test('new change created with private', () => {
+    test('new change created with default', done => {
+      const configInputObj = {
+        branch: 'test-branch',
+        subject: 'first change created with polygerrit ui',
+        topic: 'test-topic',
+        is_private: false,
+        work_in_progress: true,
+      };
+
+      const saveStub = sandbox.stub(element.$.restAPI,
+          'createChange', () => {
+            return Promise.resolve({});
+          });
+
+      element.branch = 'test-branch';
+      element.topic = 'test-topic';
+      element.subject = 'first change created with polygerrit ui';
+      assert.isFalse(element.$.privateChangeCheckBox.checked);
+
+      element.$.branchInput.bindValue = configInputObj.branch;
+      element.$.tagNameInput.bindValue = configInputObj.topic;
+      element.$.messageInput.bindValue = configInputObj.subject;
+
+      element.handleCreateChange().then(() => {
+        // Private change
+        assert.isFalse(saveStub.lastCall.args[4]);
+        // WIP Change
+        assert.isTrue(saveStub.lastCall.args[5]);
+        assert.isTrue(saveStub.called);
+        done();
+      });
+    });
+
+    test('new change created with private', done => {
       element._repoConfig = {
         private_by_default: {
-          inherited_value: true,
+          configured_value: 'TRUE',
+          inherited_value: false,
         },
       };
+      sandbox.stub(element, '_formatBooleanString', () => {
+        return Promise.resolve(true);
+      });
+      flushAsynchronousOperations();
 
       const configInputObj = {
         branch: 'test-branch',
-        topic: 'test-topic',
         subject: 'first change created with polygerrit ui',
-        work_in_progress: false,
+        topic: 'test-topic',
+        is_private: true,
+        work_in_progress: true,
       };
 
       const saveStub = sandbox.stub(element.$.restAPI,
@@ -94,34 +136,12 @@
       element.$.messageInput.bindValue = configInputObj.subject;
 
       element.handleCreateChange().then(() => {
-        assert.isTrue(saveStub.lastCall.calledWithExactly(configInputObj));
-      });
-    });
-
-    test('new change created with wip', () => {
-      const configInputObj = {
-        branch: 'test-branch',
-        topic: 'test-topic',
-        subject: 'first change created with polygerrit ui',
-      };
-
-      const saveStub = sandbox.stub(element.$.restAPI,
-          'createChange', () => {
-            return Promise.resolve({});
-          });
-
-      element.branch = 'test-branch';
-      element.topic = 'test-topic';
-      element.subject = 'first change created with polygerrit ui';
-      element.$.wipChangeCheckBox.checked = true;
-      assert.isFalse(element.$.privateChangeCheckBox.checked);
-
-      element.$.branchInput.bindValue = configInputObj.branch;
-      element.$.tagNameInput.bindValue = configInputObj.topic;
-      element.$.messageInput.bindValue = configInputObj.subject;
-
-      element.handleCreateChange().then(() => {
-        assert.isTrue(saveStub.lastCall.calledWithExactly(configInputObj));
+        // Private change
+        assert.isTrue(saveStub.lastCall.args[4]);
+        // WIP Change
+        assert.isTrue(saveStub.lastCall.args[5]);
+        assert.isTrue(saveStub.called);
+        done();
       });
     });