added workflow mechanism to add user
This commit is contained in:
parent
91d8adc1b0
commit
b7b77609ce
4 changed files with 114 additions and 3 deletions
|
|
@ -112,9 +112,6 @@ frappe.ui.form.States = Class.extend({
|
|||
} else if(new_docstatus==2 && me.frm.doc.docstatus==1) {
|
||||
me.frm.savecancel(null, success, on_error);
|
||||
} else {
|
||||
frappe.msgprint(__("Document Status transition from ") + me.frm.doc.docstatus + " "
|
||||
+ __("to") +
|
||||
new_docstatus + " " + __("is not allowed."));
|
||||
frappe.msgprint(__("Document Status transition from {0} to {1} is not allowed", [me.frm.doc.docstatus, new_docstatus]));
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,3 +11,5 @@ frappe/core/doctype/report/test_query_report.js
|
|||
frappe/tests/ui/test_linked_with.js
|
||||
frappe/custom/doctype/customize_form/test_customize_form.js
|
||||
frappe/desk/doctype/event/test_event.js
|
||||
frappe/workflow/doctype/workflow/tests/test_workflow_create.js
|
||||
frappe/workflow/doctype/workflow/tests/test_workflow_test.js
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
QUnit.module('setup');
|
||||
|
||||
QUnit.test("Test Workflow", function(assert) {
|
||||
assert.expect(1);
|
||||
let done = assert.async();
|
||||
|
||||
frappe.run_serially([
|
||||
() => {
|
||||
return frappe.tests.make('Workflow', [
|
||||
{workflow_name: "Test User Workflow"},
|
||||
{document_type: "User"},
|
||||
{is_active: 1},
|
||||
{override_status: 1},
|
||||
{states: [
|
||||
[
|
||||
{state: 'Pending'},
|
||||
{doc_status: 0},
|
||||
{allow_edit: 'Administrator'}
|
||||
],
|
||||
[
|
||||
{state: 'Approved'},
|
||||
{doc_status: 1},
|
||||
{allow_edit: 'Administrator'}
|
||||
],
|
||||
[
|
||||
{state: 'Rejected'},
|
||||
{doc_status: 2},
|
||||
{allow_edit: 'Administrator'}
|
||||
]
|
||||
]},
|
||||
{transitions: [
|
||||
[
|
||||
{state: 'Pending'},
|
||||
{action: 'Review'},
|
||||
{next_state: 'Pending'},
|
||||
{allowed: 'Administrator'}
|
||||
],
|
||||
[
|
||||
{state: 'Pending'},
|
||||
{action: 'Approve'},
|
||||
{next_state: 'Approved'},
|
||||
{allowed: 'Administrator'}
|
||||
],
|
||||
[
|
||||
{state: 'Approved'},
|
||||
{action: 'Reject'},
|
||||
{next_state: 'Rejected'},
|
||||
{allowed: 'Administrator'}
|
||||
],
|
||||
]},
|
||||
{workflow_state_field: 'workflow_state'}
|
||||
]);
|
||||
},
|
||||
() => frappe.timeout(1),
|
||||
() => {assert.equal($('.msgprint').text(), "Created Custom Field workflow_state in User", "Workflow created");},
|
||||
() => frappe.tests.click_button('Close'),
|
||||
() => done()
|
||||
]);
|
||||
});
|
||||
53
frappe/workflow/doctype/workflow/tests/test_workflow_test.js
Normal file
53
frappe/workflow/doctype/workflow/tests/test_workflow_test.js
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
QUnit.module('setup');
|
||||
|
||||
QUnit.test("Test Workflow", function(assert) {
|
||||
assert.expect(5);
|
||||
let done = assert.async();
|
||||
|
||||
frappe.run_serially([
|
||||
() => frappe.set_route('Form', 'User', 'New User 1'),
|
||||
() => frappe.timeout(1),
|
||||
() => {
|
||||
cur_frm.set_value('email', 'test1@testmail.com');
|
||||
cur_frm.set_value('first_name', 'Test Name');
|
||||
cur_frm.set_value('send_welcome_email', 0);
|
||||
cur_frm.save();
|
||||
},
|
||||
() => frappe.timeout(0.5),
|
||||
() => frappe.tests.click_button('Actions'),
|
||||
() => frappe.timeout(0.5),
|
||||
() => {
|
||||
let review = $(`.dropdown-menu li:contains("Review"):visible`).size();
|
||||
let approve = $(`.dropdown-menu li:contains("Approve"):visible`).size();
|
||||
assert.equal(review, 1, "Review Action exists");
|
||||
assert.equal(approve, 1, "Approve Action exists");
|
||||
},
|
||||
() => frappe.tests.click_dropdown_item('Approve'),
|
||||
() => frappe.timeout(1),
|
||||
() => frappe.tests.click_button('Yes'),
|
||||
() => frappe.timeout(1),
|
||||
() => {
|
||||
assert.equal($('.msgprint').text(), "Did not saveInsufficient Permission for User", "Approve action working");
|
||||
frappe.tests.click_button('Close');
|
||||
},
|
||||
() => frappe.timeout(1),
|
||||
() => {
|
||||
$('.user-role input:eq(5)').click();
|
||||
cur_frm.save();
|
||||
},
|
||||
() => frappe.timeout(0.5),
|
||||
() => frappe.tests.click_button('Actions'),
|
||||
() => frappe.timeout(0.5),
|
||||
() => {
|
||||
let reject = $(`.dropdown-menu li:contains("Reject"):visible`).size();
|
||||
assert.equal(reject, 1, "Review Action exists");
|
||||
},
|
||||
() => frappe.tests.click_dropdown_item('Reject'),
|
||||
() => frappe.timeout(0.5),
|
||||
() => {
|
||||
if(frappe.tests.click_button('Close'))
|
||||
assert.equal(1, 1, "Reject action works");
|
||||
},
|
||||
() => done()
|
||||
]);
|
||||
});
|
||||
Loading…
Add table
Reference in a new issue