module("Discourse.HasCurrentUser", {
  setup: function() {
    sinon.stub(Discourse.User, "current");
  },

  teardown: function() {
    Discourse.User.current.restore();
  }
});

test("adds `currentUser` property to an object and ensures it is not cached", function() {
  var testObj = Ember.Object.createWithMixins(Discourse.HasCurrentUser, {});

  Discourse.User.current.returns("first user");
  equal(testObj.get("currentUser"), "first user", "on the first call property returns initial user");

  Discourse.User.current.returns("second user");
  equal(testObj.get("currentUser"), "second user", "if the user changes, on the second call property returns changed user");
});