Skip to content

Commit

Permalink
feat(chat): add versioning for chat and prompt publications, fix free…
Browse files Browse the repository at this point in the history
…zes on admin UI and publish to path when unpublish entity from folders (Issues #321, #1966, #1991) (#1957)
  • Loading branch information
Alexander-Kezik authored Sep 3, 2024
1 parent 4993760 commit 76f6be3
Show file tree
Hide file tree
Showing 59 changed files with 2,923 additions and 1,229 deletions.
6 changes: 0 additions & 6 deletions apps/chat-e2e/src/core/dialFixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ const dialTest = test.extend<
moreInfo: MoreInfo;
chatInfoTooltip: ChatInfoTooltip;
compare: Compare;
compareConversationSelector: ModelSelector;
compareConversation: ConversationToCompare;
rightConversationSettings: ConversationSettings;
leftConversationSettings: ConversationSettings;
Expand Down Expand Up @@ -474,11 +473,6 @@ const dialTest = test.extend<
const compareConversation = compare.getConversationToCompare();
await use(compareConversation);
},
compareConversationSelector: async ({ compareConversation }, use) => {
const compareConversationSelector =
compareConversation.getConversationSelector();
await use(compareConversationSelector);
},
rightConversationSettings: async ({ compare }, use) => {
const rightConversationSettings = compare.getRightConversationSettings();
await use(rightConversationSettings);
Expand Down
10 changes: 0 additions & 10 deletions apps/chat-e2e/src/core/dialSharedWithMeFixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import {
DropdownMenu,
EntitySelector,
ErrorToast,
ModelSelector,
PromptBar,
RecentEntities,
SendMessage,
Expand Down Expand Up @@ -60,7 +59,6 @@ const dialSharedWithMeTest = dialTest.extend<{
additionalShareUserConversations: Conversations;
additionalShareUserCompare: Compare;
additionalShareUserCompareConversation: ConversationToCompare;
additionalShareUserCompareConversationSelector: ModelSelector;
additionalShareUserNotFound: ChatNotFound;
additionalShareUserConfirmationDialog: ConfirmationDialog;
additionalShareUserPlaybackControl: PlaybackControl;
Expand Down Expand Up @@ -167,14 +165,6 @@ const dialSharedWithMeTest = dialTest.extend<{
additionalShareUserCompare.getConversationToCompare();
await use(additionalShareUserCompareConversation);
},
additionalShareUserCompareConversationSelector: async (
{ additionalShareUserCompareConversation },
use,
) => {
const additionalShareUserCompareConversationSelector =
additionalShareUserCompareConversation.getConversationSelector();
await use(additionalShareUserCompareConversationSelector);
},
additionalShareUserConversationSettings: async (
{ additionalShareUserAppContainer },
use,
Expand Down
119 changes: 58 additions & 61 deletions apps/chat-e2e/src/tests/compareMode.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ dialTest(
localStorageManager,
dataInjector,
compare,
compareConversationSelector,
compareConversation,
iconApiHelper,
}) => {
setTestIds('EPMRTC-546', 'EPMRTC-383');
Expand Down Expand Up @@ -149,9 +149,8 @@ dialTest(
)
.toBeTruthy();

await compareConversationSelector.click();
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList,
Expand All @@ -164,7 +163,7 @@ dialTest(
]);

const compareOptionsIcons =
await compareConversationSelector.getOptionsIcons();
await compareConversation.getCompareConversationIcons();
const expectedModels = [defaultModel, gpt4Model, bisonModel];
expect
.soft(
Expand Down Expand Up @@ -199,7 +198,6 @@ dialTest(
conversationData,
compareConversation,
dataInjector,
compareConversationSelector,
compare,
localStorageManager,
}) => {
Expand Down Expand Up @@ -243,22 +241,18 @@ dialTest(
await conversations.openEntityDropdownMenu(modelConversation.name, 3);
await conversationDropdownMenu.selectMenuOption(MenuOptions.compare);
await compareConversation.checkShowAllConversations();
await compareConversationSelector.click();

const selectorPlaceholder =
await compareConversationSelector.getSelectorPlaceholder();
expect
.soft(selectorPlaceholder, ExpectedMessages.noConversationsAvailable)
.toBe(ExpectedConstants.noConversationsAvailable);
await expect
.soft(
compareConversation.noConversationsAvailable.getElementLocator(),
ExpectedMessages.noConversationsAvailable,
)
.toHaveText(ExpectedConstants.noConversationsAvailable);

const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.compareConversationRowNames.getElementsCount();
expect
.soft(
conversationsList,
ExpectedMessages.conversationsToCompareOptionsValid,
)
.toEqual([]);
.soft(conversationsList, ExpectedMessages.conversationsCountIsValid)
.toEqual(0);
},
);

Expand Down Expand Up @@ -348,8 +342,8 @@ dialTest(
localStorageManager,
dataInjector,
conversations,
compareConversationSelector,
conversationDropdownMenu,
compareConversation,
}) => {
setTestIds('EPMRTC-540');
const firstRequest = 'What is EPAM official name?';
Expand Down Expand Up @@ -418,21 +412,18 @@ dialTest(
await conversations.openEntityDropdownMenu(firstConversation.name);
await conversationDropdownMenu.selectMenuOption(MenuOptions.compare);

await compareConversationSelector.click();
const selectorPlaceholder =
await compareConversationSelector.getSelectorPlaceholder();
expect
.soft(selectorPlaceholder, ExpectedMessages.noConversationsAvailable)
.toBe(ExpectedConstants.noConversationsAvailable);
await expect
.soft(
compareConversation.noConversationsAvailable.getElementLocator(),
ExpectedMessages.noConversationsAvailable,
)
.toHaveText(ExpectedConstants.noConversationsAvailable);

const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.compareConversationRows.getElementsCount();
expect
.soft(
conversationsList,
ExpectedMessages.conversationsToCompareOptionsValid,
)
.toEqual([]);
.soft(conversationsList, ExpectedMessages.conversationsCountIsValid)
.toBe(0);
},
);
},
Expand Down Expand Up @@ -941,7 +932,6 @@ dialTest(
conversationData,
localStorageManager,
dataInjector,
compareConversationSelector,
rightChatHeader,
compareConversation,
}) => {
Expand Down Expand Up @@ -1014,9 +1004,8 @@ dialTest(
await conversations.openEntityDropdownMenu(firstConversation.name);
await conversationDropdownMenu.selectMenuOption(MenuOptions.compare);
await compareConversation.checkShowAllConversations();
await compareConversationSelector.click();
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList.sort(),
Expand All @@ -1030,9 +1019,11 @@ dialTest(
'Type first search term and verify all chats are available for comparison in dropdown list',
async () => {
for (const term of [firstSearchTerm, firstSearchTerm.toUpperCase()]) {
await compareConversationSelector.fillInput(term);
await compareConversation.searchCompareConversationInput.fillInInput(
term,
);
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList.sort(),
Expand All @@ -1046,9 +1037,11 @@ dialTest(
await dialTest.step(
'Type second search term and verify chat 3 and 4 are available for comparison in dropdown list',
async () => {
await compareConversationSelector.fillInput(secondSearchTerm);
await compareConversation.searchCompareConversationInput.fillInInput(
secondSearchTerm,
);
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList.sort(),
Expand All @@ -1061,9 +1054,11 @@ dialTest(
await dialTest.step(
'Type third search term and verify chat 2 is available for comparison in dropdown list',
async () => {
await compareConversationSelector.fillInput(thirdSearchTerm);
await compareConversation.searchCompareConversationInput.fillInInput(
thirdSearchTerm,
);
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList,
Expand All @@ -1076,9 +1071,11 @@ dialTest(
await dialTest.step(
'Type underscore and verify chat 4 is available for comparison in dropdown list',
async () => {
await compareConversationSelector.fillInput(underscoreSearchTerm);
await compareConversation.searchCompareConversationInput.fillInInput(
underscoreSearchTerm,
);
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList,
Expand All @@ -1091,9 +1088,11 @@ dialTest(
await dialTest.step(
'Type not matching search term and verify no chats available for comparison in dropdown list',
async () => {
await compareConversationSelector.fillInput(noResultSearchTerm);
await compareConversation.searchCompareConversationInput.fillInInput(
noResultSearchTerm,
);
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList,
Expand All @@ -1106,9 +1105,11 @@ dialTest(
await dialTest.step(
'Delete search term and verify all chats are available for comparison in dropdown list',
async () => {
await compareConversationSelector.fillInput('');
await compareConversation.searchCompareConversationInput.fillInInput(
'',
);
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList.sort(),
Expand All @@ -1123,8 +1124,8 @@ dialTest(
async () => {
const chatToSelect =
GeneratorUtil.randomArrayElement(matchedConversations);
await compareConversationSelector.selectModel(chatToSelect, true);
await compareConversationSelector.waitForState({
await compareConversation.selectCompareConversation(chatToSelect);
await compareConversation.waitForState({
state: 'hidden',
});
const rightHeaderTitle =
Expand Down Expand Up @@ -1152,7 +1153,7 @@ dialTest(
conversations,
chatBar,
chatHeader,
compareConversationSelector,
compareConversation,
conversationDropdownMenu,
leftChatHeader,
}) => {
Expand Down Expand Up @@ -1236,15 +1237,13 @@ dialTest(
ExpectedMessages.closeChatIconIsNotVisible,
)
.toBeHidden();

await compareConversationSelector.click();
const overflowProp =
await compareConversationSelector.listbox.getComputedStyleProperty(
Styles.overflow_x,
);
await compareConversation.checkShowAllConversations();
const overflowProp = await compareConversation
.compareConversationRowName(secondConversation.name)
.getComputedStyleProperty(Styles.text_overflow);
expect
.soft(overflowProp[0], ExpectedMessages.entityNameIsTruncated)
.toBe(Overflow.auto);
.toBe(Overflow.ellipsis);
},
);
},
Expand All @@ -1260,7 +1259,7 @@ dialTest(
conversationData,
dataInjector,
compare,
compareConversationSelector,
compareConversation,
chat,
}) => {
setTestIds('EPMRTC-557');
Expand Down Expand Up @@ -1307,9 +1306,8 @@ dialTest(
);
await conversationDropdownMenu.selectMenuOption(MenuOptions.compare);
await compare.waitForState();
await compareConversationSelector.click();
const conversationsList =
await compareConversationSelector.getListOptions();
await compareConversation.getCompareConversationNames();
expect
.soft(
conversationsList,
Expand All @@ -1322,9 +1320,8 @@ dialTest(
await dialTest.step(
'Select folder conversation for comparison, send new request and verify response generated for both chats',
async () => {
await compareConversationSelector.selectModel(
await compareConversation.selectCompareConversation(
secondFolderConversation.conversations[0].name,
true,
);
const requestsData = await chat.sendRequestInCompareMode(
'repeat the same response',
Expand Down
9 changes: 3 additions & 6 deletions apps/chat-e2e/src/tests/duplicateSharedConversations.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,6 @@ dialSharedWithMeTest(
additionalShareUserChat,
additionalShareUserCompare,
additionalShareUserCompareConversation,
additionalShareUserCompareConversationSelector,
setTestIds,
}) => {
setTestIds('EPMRTC-1835', 'EPMRTC-1843', 'EPMRTC-1838');
Expand Down Expand Up @@ -255,9 +254,8 @@ dialSharedWithMeTest(
'Check "Show all conversations" check-box, expand the list and verify three conversations are displayed',
async () => {
await additionalShareUserCompareConversation.checkShowAllConversations();
await additionalShareUserCompareConversationSelector.click();
const conversationsList =
await additionalShareUserCompareConversationSelector.getListOptions();
await additionalShareUserCompareConversation.getCompareConversationNames();
expect
.soft(
conversationsList,
Expand All @@ -277,9 +275,8 @@ dialSharedWithMeTest(
await dialSharedWithMeTest.step(
'Select shared conversation from the list and verify Compare mode is opened',
async () => {
await additionalShareUserCompareConversationSelector.selectModel(
await additionalShareUserCompareConversation.selectCompareConversation(
secondComparedConversation.name,
true,
);
await additionalShareUserCompare.waitForComparedConversationsLoaded();
},
Expand Down Expand Up @@ -323,7 +320,7 @@ dialSharedWithMeTest(
MenuOptions.compare,
);
await additionalShareUserCompareConversation.checkShowAllConversations();
await additionalShareUserCompareConversationSelector.selectModel(
await additionalShareUserCompareConversation.selectCompareConversation(
thirdComparedConversation.name,
);
await additionalShareUserCompare.waitForComparedConversationsLoaded();
Expand Down
7 changes: 4 additions & 3 deletions apps/chat-e2e/src/tests/scrolling.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ dialTest(
dataInjector,
conversations,
conversationDropdownMenu,
compareConversationSelector,
compareConversation,
}) => {
setTestIds('EPMRTC-3079');
let firstConversation: Conversation;
Expand Down Expand Up @@ -360,8 +360,9 @@ dialTest(
await chat.scrollContent(0, -100);
await conversations.openEntityDropdownMenu(firstConversationName, 2);
await conversationDropdownMenu.selectMenuOption(MenuOptions.compare);
await compareConversationSelector.selectModel(secondConversationName);

await compareConversation.selectCompareConversation(
secondConversationName,
);
const scrollPosition =
await chat.scrollableArea.getVerticalScrollPosition();
expect
Expand Down
Loading

0 comments on commit 76f6be3

Please sign in to comment.