fix: glossary term reviewers is not updating (#12707)

* fix: glossary term reviewers is not updating

* test: add cypress test for glossary term reviewer
This commit is contained in:
Sachin Chaurasiya 2023-08-02 16:09:57 +05:30 committed by GitHub
parent 67d4886b14
commit a28cdcda5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 19 deletions

View File

@ -174,6 +174,13 @@ const fillGlossaryTermDetails = (term, glossary, isMutually = false) => {
.scrollIntoView()
.should('be.visible')
.type('https://test.com');
// check for parent glossary reviewer
if (glossary.name === NEW_GLOSSARY.name) {
cy.get('[data-testid="user-tag"]')
.contains(glossary.reviewer)
.should('be.visible');
}
};
const createGlossaryTerm = (term, glossary, isMutually = false) => {
@ -318,10 +325,7 @@ const updateTerms = (newTerm) => {
.click()
.type(newTerm);
verifyResponseStatusCode('@getGlossaryTerm', 200);
cy.get('.ant-select-item-option-content')
.contains(newTerm)
.should('be.visible')
.click();
cy.get('.ant-select-item-option-content').contains(newTerm).click();
cy.get('[data-testid="saveAssociatedTag"]').should('be.visible').click();
verifyResponseStatusCode('@saveGlossaryTermData', 200);

View File

@ -42,15 +42,10 @@ const AddGlossaryTermForm = ({
isFormInModal = false,
formRef: form,
}: AddGlossaryTermFormProps) => {
const [reviewer, setReviewer] = useState<Array<EntityReference>>([]);
const [owner, setOwner] = useState<EntityReference | undefined>();
const [relatedTermsOptions, setRelatedTermsOptions] = useState<
EntityReference[]
>([]);
const selectedOwner = Form.useWatch<EntityReference | undefined>(
'owner',
form
);
const owner = Form.useWatch<EntityReference | undefined>('owner', form);
const reviewersList =
Form.useWatch<EntityReference[]>('reviewers', form) ?? [];
@ -115,7 +110,7 @@ const AddGlossaryTermForm = ({
name: name.trim(),
displayName: displayName?.trim(),
description: description,
reviewers: reviewer,
reviewers: reviewersList,
relatedTerms: editMode
? relatedTermsOptions
.filter((item) => includes(relatedTerms, item.fullyQualifiedName))
@ -132,7 +127,7 @@ const AddGlossaryTermForm = ({
useEffect(() => {
if (glossaryReviewers.length > 0) {
setReviewer(glossaryReviewers);
form.setFieldValue('reviewers', glossaryReviewers);
}
if (editMode && glossaryTerm) {
const {
@ -160,11 +155,11 @@ const AddGlossaryTermForm = ({
});
if (reviewers) {
setReviewer(reviewers);
form.setFieldValue('reviewers', reviewers);
}
if (owner) {
setOwner(owner);
form.setFieldValue('owner', owner);
}
if (relatedTerms && relatedTerms.length > 0) {
@ -321,7 +316,6 @@ const AddGlossaryTermForm = ({
formItemProps: {
valuePropName: 'selectedUsers',
trigger: 'onUpdate',
initialValue: [],
},
};
@ -411,11 +405,11 @@ const AddGlossaryTermForm = ({
<div className="m-t-xss">
{getField(ownerField)}
{selectedOwner && (
{owner && (
<div className="tw-my-2" data-testid="owner-container">
<UserTag
id={selectedOwner.id}
name={getEntityName(selectedOwner)}
id={owner.id}
name={getEntityName(owner)}
size={UserTagSize.small}
/>
</div>

View File

@ -32,6 +32,7 @@ import {
ListGlossaryTermsParams,
patchGlossaryTerm,
} from 'rest/glossaryAPI';
import { getEncodedFqn } from 'utils/StringsUtils';
import { Glossary } from '../../generated/entity/data/glossary';
import { GlossaryTerm } from '../../generated/entity/data/glossaryTerm';
import { getEntityDeleteMessage } from '../../utils/CommonUtils';
@ -205,7 +206,7 @@ const GlossaryV1 = ({
if (!isGlossaryActive && tab !== 'terms') {
history.push(
getGlossaryTermDetailsPath(
selectedData.fullyQualifiedName || '',
getEncodedFqn(selectedData.fullyQualifiedName || ''),
'terms'
)
);