feat: enhance item tags with data attributes for improved testing
gitea/salix-front/pipeline/pr-master This commit looks good
Details
gitea/salix-front/pipeline/pr-master This commit looks good
Details
This commit is contained in:
parent
8c69e5c937
commit
24b4d0071a
|
@ -87,7 +87,7 @@ const insertTag = (rows) => {
|
||||||
tagFk: undefined,
|
tagFk: undefined,
|
||||||
}"
|
}"
|
||||||
:default-remove="false"
|
:default-remove="false"
|
||||||
:filter="{
|
:user-filter="{
|
||||||
fields: ['id', 'itemFk', 'tagFk', 'value', 'priority'],
|
fields: ['id', 'itemFk', 'tagFk', 'value', 'priority'],
|
||||||
where: { itemFk: route.params.id },
|
where: { itemFk: route.params.id },
|
||||||
include: {
|
include: {
|
||||||
|
@ -119,6 +119,7 @@ const insertTag = (rows) => {
|
||||||
"
|
"
|
||||||
:required="true"
|
:required="true"
|
||||||
:rules="validate('itemTag.tagFk')"
|
:rules="validate('itemTag.tagFk')"
|
||||||
|
:data-cy="`tag${row?.tag?.name}`"
|
||||||
/>
|
/>
|
||||||
<VnSelect
|
<VnSelect
|
||||||
v-if="row.tag?.isFree === false"
|
v-if="row.tag?.isFree === false"
|
||||||
|
@ -145,6 +146,7 @@ const insertTag = (rows) => {
|
||||||
:label="t('itemTags.value')"
|
:label="t('itemTags.value')"
|
||||||
:is-clearable="false"
|
:is-clearable="false"
|
||||||
@keyup.enter.stop="(data) => itemTagsRef.onSubmit(data)"
|
@keyup.enter.stop="(data) => itemTagsRef.onSubmit(data)"
|
||||||
|
:data-cy="`tag${row?.tag?.name}Value`"
|
||||||
/>
|
/>
|
||||||
<VnInput
|
<VnInput
|
||||||
:label="t('itemBasicData.relevancy')"
|
:label="t('itemBasicData.relevancy')"
|
||||||
|
@ -162,6 +164,7 @@ const insertTag = (rows) => {
|
||||||
name="delete"
|
name="delete"
|
||||||
size="sm"
|
size="sm"
|
||||||
dense
|
dense
|
||||||
|
:data-cy="`deleteTag${row?.tag?.name}`"
|
||||||
>
|
>
|
||||||
<QTooltip>
|
<QTooltip>
|
||||||
{{ t('itemTags.removeTag') }}
|
{{ t('itemTags.removeTag') }}
|
||||||
|
@ -177,6 +180,7 @@ const insertTag = (rows) => {
|
||||||
icon="add"
|
icon="add"
|
||||||
shortcut="+"
|
shortcut="+"
|
||||||
fab
|
fab
|
||||||
|
data-cy="createNewTag"
|
||||||
>
|
>
|
||||||
<QTooltip>
|
<QTooltip>
|
||||||
{{ t('itemTags.addTag') }}
|
{{ t('itemTags.addTag') }}
|
||||||
|
|
|
@ -1,33 +1,36 @@
|
||||||
/// <reference types="cypress" />
|
|
||||||
describe('Item tag', () => {
|
describe('Item tag', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.viewport(1920, 1080);
|
cy.viewport(1920, 1080);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.visit(`/#/item/1/tags`);
|
cy.visit(`/#/item/1/tags`);
|
||||||
|
cy.get('.q-page').should('be.visible');
|
||||||
|
cy.waitForElement('[data-cy="itemTags"]');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const createNewTag = 'createNewTag';
|
||||||
|
const saveBtn = 'crudModelDefaultSaveBtn';
|
||||||
|
const newTag = 'tagundefined';
|
||||||
|
|
||||||
it('should throw an error adding an existent tag', () => {
|
it('should throw an error adding an existent tag', () => {
|
||||||
cy.get('.q-page').should('be.visible');
|
cy.dataCy(createNewTag).click();
|
||||||
cy.get('.q-page-sticky > div').click();
|
cy.dataCy(newTag).should('be.visible').click().type('Genero{enter}');
|
||||||
cy.get('.q-page-sticky > div').click();
|
cy.dataCy('tagGeneroValue').eq(1).should('be.visible');
|
||||||
cy.dataCy('Tag_select').eq(7).type('Tallos');
|
cy.dataCy(saveBtn).click();
|
||||||
cy.get('.q-menu .q-item').contains('Tallos').click();
|
cy.get('.q-notification__message').should(
|
||||||
cy.get(':nth-child(8) > [label="Value"]').type('1');
|
'have.text',
|
||||||
+cy.dataCy('crudModelDefaultSaveBtn').click();
|
"The tag or priority can't be repeated for an item",
|
||||||
cy.checkNotification("The tag or priority can't be repeated for an item");
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should add a new tag', () => {
|
it('should add a new tag', () => {
|
||||||
cy.get('.q-page').should('be.visible');
|
cy.dataCy(createNewTag).click();
|
||||||
cy.get('.q-page-sticky > div').click();
|
cy.dataCy(newTag).should('be.visible').click().type('Forma{enter}');
|
||||||
cy.get('.q-page-sticky > div').click();
|
cy.dataCy('tagFormaValue').should('be.visible').type('50');
|
||||||
cy.dataCy('Tag_select').eq(7).click();
|
cy.dataCy(saveBtn).click();
|
||||||
cy.get('.q-menu .q-item').contains('Ancho de la base').type('{enter}');
|
|
||||||
cy.get(':nth-child(8) > [label="Value"]').type('50');
|
|
||||||
cy.dataCy('crudModelDefaultSaveBtn').click();
|
|
||||||
cy.checkNotification('Data saved');
|
cy.checkNotification('Data saved');
|
||||||
cy.dataCy('itemTags').children(':nth-child(8)').find('.justify-center > .q-icon').click();
|
cy.dataCy('deleteTagForma').should('be.visible').click();
|
||||||
cy.dataCy('VnConfirm_confirm').click();
|
cy.dataCy('VnConfirm_confirm').should('be.visible').click();
|
||||||
cy.checkNotification('Data saved');
|
cy.checkNotification('Data saved');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue