diff --git a/src/groups.js b/src/groups.js index 03bb0e33d..a4406eb0b 100644 --- a/src/groups.js +++ b/src/groups.js @@ -78,6 +78,9 @@ function create(name, callback) { assert.strictEqual(typeof name, 'string'); assert.strictEqual(typeof callback, 'function'); + // we store names in lowercase + name = name.toLowerCase(); + var error = validateGroupname(name); if (error) return callback(error); diff --git a/src/test/groups-test.js b/src/test/groups-test.js index 575fea7ec..20b2759a7 100644 --- a/src/test/groups-test.js +++ b/src/test/groups-test.js @@ -97,6 +97,14 @@ describe('Groups', function () { }); }); + it('cannot create existing group with mixed case', function (done) { + var name = GROUP0_NAME[0].toUpperCase() + GROUP0_NAME.substr(1); + groups.create(name, function (error, result) { + expect(error.reason).to.be(GroupError.ALREADY_EXISTS); + done(); + }); + }); + it('did create mailbox', function (done) { mailboxdb.getGroup(GROUP0_NAME.toLowerCase(), function (error, mailbox) { expect(error).to.be(null);