mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
const {strict: assert} = require("assert");
 | 
						|
 | 
						|
const {zrequire} = require("../zjsunit/namespace");
 | 
						|
const {run_test} = require("../zjsunit/test");
 | 
						|
 | 
						|
const user_groups = zrequire("user_groups");
 | 
						|
const user_group_pill = zrequire("user_group_pill");
 | 
						|
 | 
						|
const admins = {
 | 
						|
    name: "Admins",
 | 
						|
    description: "foo",
 | 
						|
    id: 101,
 | 
						|
    members: [10, 20],
 | 
						|
};
 | 
						|
const testers = {
 | 
						|
    name: "Testers",
 | 
						|
    description: "bar",
 | 
						|
    id: 102,
 | 
						|
    members: [20, 50, 30, 40],
 | 
						|
};
 | 
						|
 | 
						|
const admins_pill = {
 | 
						|
    id: admins.id,
 | 
						|
    group_name: admins.name,
 | 
						|
    type: "user_group",
 | 
						|
    display_value: admins.name + ": " + admins.members.length + " users",
 | 
						|
};
 | 
						|
const testers_pill = {
 | 
						|
    id: testers.id,
 | 
						|
    group_name: testers.name,
 | 
						|
    type: "user_group",
 | 
						|
    display_value: testers.name + ": " + testers.members.length + " users",
 | 
						|
};
 | 
						|
 | 
						|
const groups = [admins, testers];
 | 
						|
for (const group of groups) {
 | 
						|
    user_groups.add(group);
 | 
						|
}
 | 
						|
 | 
						|
run_test("create_item", () => {
 | 
						|
    function test_create_item(group_name, current_items, expected_item) {
 | 
						|
        const item = user_group_pill.create_item_from_group_name(group_name, current_items);
 | 
						|
        assert.deepEqual(item, expected_item);
 | 
						|
    }
 | 
						|
 | 
						|
    test_create_item(" admins ", [], admins_pill);
 | 
						|
    test_create_item("admins", [testers_pill], admins_pill);
 | 
						|
    test_create_item("admins", [admins_pill], undefined);
 | 
						|
    test_create_item("unknown", [], undefined);
 | 
						|
});
 | 
						|
 | 
						|
run_test("get_stream_id", () => {
 | 
						|
    assert.equal(user_group_pill.get_group_name_from_item(admins_pill), admins.name);
 | 
						|
});
 | 
						|
 | 
						|
run_test("get_user_ids", () => {
 | 
						|
    const items = [admins_pill, testers_pill];
 | 
						|
    const widget = {items: () => items};
 | 
						|
 | 
						|
    const user_ids = user_group_pill.get_user_ids(widget);
 | 
						|
    assert.deepEqual(user_ids, [10, 20, 30, 40, 50]);
 | 
						|
});
 | 
						|
 | 
						|
run_test("get_group_ids", () => {
 | 
						|
    const items = [admins_pill, testers_pill];
 | 
						|
    const widget = {items: () => items};
 | 
						|
 | 
						|
    const group_ids = user_group_pill.get_group_ids(widget);
 | 
						|
    assert.deepEqual(group_ids, [101, 102]);
 | 
						|
});
 |