|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- context('Dynamic Link', () => {
- before(() => {
- cy.login();
- cy.visit('/app/doctype');
- return cy.window().its('frappe').then(frappe => {
- return frappe.xcall('frappe.tests.ui_test_helpers.create_doctype', {
- name: 'Test Dynamic Link',
- fields: [
- {
- "label": "Document Type",
- "fieldname": "doc_type",
- "fieldtype": "Link",
- "options": "DocType",
- "in_list_view": 1,
- "in_standard_filter": 1,
- },
- {
- "label": "Document ID",
- "fieldname": "doc_id",
- "fieldtype": "Dynamic Link",
- "options": "doc_type",
- "in_list_view": 1,
- "in_standard_filter": 1,
- },
- ]
- });
- });
- });
-
-
- function get_dialog_with_dynamic_link() {
- return cy.dialog({
- title: 'Dynamic Link',
- fields: [{
- "label": "Document Type",
- "fieldname": "doc_type",
- "fieldtype": "Link",
- "options": "DocType",
- "in_list_view": 1,
- },
- {
- "label": "Document ID",
- "fieldname": "doc_id",
- "fieldtype": "Dynamic Link",
- "options": "doc_type",
- "in_list_view": 1,
- }]
- });
- }
-
- function get_dialog_with_dynamic_link_option() {
- return cy.dialog({
- title: 'Dynamic Link',
- fields: [{
- "label": "Document Type",
- "fieldname": "doc_type",
- "fieldtype": "Link",
- "options": "DocType",
- "in_list_view": 1,
- },
- {
- "label": "Document ID",
- "fieldname": "doc_id",
- "fieldtype": "Dynamic Link",
- "get_options": () => {
- return "User";
- },
- "in_list_view": 1,
- }]
- });
- }
-
- it('Creating a dynamic link by passing option as function and verifying it in a dialog', () => {
- get_dialog_with_dynamic_link_option().as('dialog');
- cy.get_field('doc_type').clear();
- cy.fill_field('doc_type', 'User', 'Link');
- cy.get_field('doc_id').click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]').find('.awesomplete').find("li").its('length').should('be.gte', 0);
- cy.get('.btn-modal-close').click({force: true});
- });
-
- it('Creating a dynamic link and verifying it in a dialog', () => {
- get_dialog_with_dynamic_link().as('dialog');
- cy.get_field('doc_type').clear();
- cy.fill_field('doc_type', 'User', 'Link');
- cy.get_field('doc_id').click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]').find('.awesomplete').find("li").its('length').should('be.gte', 0);
- cy.get('.btn-modal-close').click({force: true, multiple: true});
- });
-
- it('Creating a dynamic link and verifying it', () => {
- cy.visit('/app/test-dynamic-link');
-
- //Clicking on the Document ID field
- cy.get_field('doc_type').clear();
-
- //Entering User in the Doctype field
- cy.fill_field('doc_type', 'User', 'Link', {delay: 500});
- cy.get_field('doc_id').click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]').find('.awesomplete').find("li").its('length').should('be.gte', 0);
-
- //Opening a new form for dynamic link doctype
- cy.new_form('Test Dynamic Link');
- cy.get_field('doc_type').clear();
-
- //Entering User in the Doctype field
- cy.fill_field('doc_type', 'User', 'Link', {delay: 500});
- cy.get_field('doc_id').click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]').find('.awesomplete').find("li").its('length').should('be.gte', 0);
- cy.get_field('doc_type').clear();
-
- //Entering System Settings in the Doctype field
- cy.fill_field('doc_type', 'System Settings', 'Link', {delay: 500});
- cy.get_field('doc_id').click();
-
- //Checking if the system throws error
- cy.get('.modal-title').should('have.text', 'Error');
- cy.get('.msgprint').should('have.text', 'System Settings is not a valid DocType for Dynamic Link');
- });
- });
|