Remove old class when status chip status is updated

The change view renders status chips in dom-repeat, which, by default,
will reuse and reconfigure instances when the data changes. However,
status chips only added classes when their status was configured, and
did not remove classes. As a result, a reused chip could contain classes
from other statuses. With this change, the chip removes the previous
class when the status is updated.

Bug: Issue 7592
Change-Id: I89354790307fddf5262d0407b3ecc60124df7a5b
diff --git a/polygerrit-ui/app/elements/shared/gr-change-status/gr-change-status_test.html b/polygerrit-ui/app/elements/shared/gr-change-status/gr-change-status_test.html
index 82aeec9..2a4f80c 100644
--- a/polygerrit-ui/app/elements/shared/gr-change-status/gr-change-status_test.html
+++ b/polygerrit-ui/app/elements/shared/gr-change-status/gr-change-status_test.html
@@ -79,5 +79,15 @@
       assert.isDefined(element.tooltipText);
       assert.isTrue(element.classList.contains('private'));
     });
+
+    test('updating status removes the previous class', () => {
+      element.status = 'Private';
+      assert.isTrue(element.classList.contains('private'));
+      assert.isFalse(element.classList.contains('wip'));
+
+      element.status = 'WIP';
+      assert.isFalse(element.classList.contains('private'));
+      assert.isTrue(element.classList.contains('wip'));
+    });
   });
 </script>