signal-desktop/ts/test-both/helpers/getFakeDistributionLists.ts

56 lines
1.6 KiB
TypeScript
Raw Normal View History

2022-08-02 19:31:55 +00:00
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import casual from 'casual';
import type { StoryDistributionListDataType } from '../../state/ducks/storyDistributionLists';
2022-08-30 19:13:32 +00:00
import type { StoryDistributionListWithMembersDataType } from '../../types/Stories';
import { MY_STORY_ID } from '../../types/Stories';
import { generateStoryDistributionId } from '../../types/StoryDistributionId';
import { generateAci } from '../../types/ServiceId';
2022-08-30 19:13:32 +00:00
import { getDefaultConversation } from './getDefaultConversation';
export function getFakeDistributionListsWithMembers(): Array<StoryDistributionListWithMembersDataType> {
return [
{
...getMyStories(),
members: [],
},
...Array.from(Array(casual.integer(2, 8)), () => ({
...getFakeDistributionList(),
members: Array.from(Array(casual.integer(3, 12)), () =>
getDefaultConversation()
),
})),
];
}
2022-08-02 19:31:55 +00:00
export function getFakeDistributionLists(): Array<StoryDistributionListDataType> {
return [
getMyStories(),
...Array.from(Array(casual.integer(2, 8)), getFakeDistributionList),
];
}
export function getFakeDistributionList(): StoryDistributionListDataType {
return {
allowsReplies: Boolean(casual.coin_flip),
id: generateStoryDistributionId(),
2022-08-02 19:31:55 +00:00
isBlockList: false,
memberServiceIds: Array.from(Array(casual.integer(3, 12)), () =>
generateAci()
2022-08-02 19:31:55 +00:00
),
name: casual.title,
};
}
export function getMyStories(): StoryDistributionListDataType {
return {
allowsReplies: true,
id: MY_STORY_ID,
2022-08-02 19:31:55 +00:00
isBlockList: true,
memberServiceIds: [],
name: MY_STORY_ID,
2022-08-02 19:31:55 +00:00
};
}