added workflow mechanism to add user

This commit is contained in:
Zlash65 2017-08-24 18:03:17 +05:30
parent 91d8adc1b0
commit b7b77609ce
4 changed files with 114 additions and 3 deletions

View file

@ -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;
}

View file

@ -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

View file

@ -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()
]);
});

View 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()
]);
});