blob: a70ca11d71188a220476686826a9dcad531231a7 [file] [log] [blame]
//Accounting.js
//Actions specific to the Accounting section
var EC = protractor.ExpectedConditions;
var createLedger = $("a[href='/accounting/create']");
var accountIdentifierInput = $("fims-id-input[controlname='identifier'] input");
var accountNameInput = $("input[formcontrolname='name']");
var accountBalanceInput = $("input[formcontrolname='balance']");
var primaryButton = $$(".mat-raised-button.mat-primary");
var radioButtonAsset = $$("md-radio-button").get(0);
var radioButtonRevenue = $$("md-radio-button").get(4);
//journal entries
var accountSearchInputField = $("input[formcontrolname='account']");
module.exports = {
goToAccountingViaSidePanel: function() {
browser.wait(EC.visibilityOf($$("a[href='/accounting']").first()), 3000);
$$("a[href='/accounting']").first().click();$$("a[href='/accounting']").first().click();
},
verifyCardHasTitleGeneralLedger: function() {
form_title=$("fims-layout-card-over .mat-toolbar-row div").getText();
expect(form_title).toEqual("General Ledger");
},
clickButtonOrLinkCreateNewLedger: function(){
browser.wait(EC.visibilityOf(createLedger), 5000);
createLedger.click();
},
goToTransactionTypes: function() {
browser.wait(EC.visibilityOf($("a[href='/accounting/transactiontypes']")), 3000);
$("a[href='/accounting/transactiontypes']").click();
},
goToChartOfAccounts: function() {
browser.wait(EC.visibilityOf($("a[href='/accounting/chartOfAccounts']")), 3000);
$("a[href='/accounting/chartOfAccounts']").click();
},
goToJournalEntries: function() {
browser.wait(EC.visibilityOf($("a[href='/accounting/journalEntries']")), 3000);
$("a[href='/accounting/journalEntries']").click();
},
goToChequeClearing: function() {
browser.wait(EC.visibilityOf($("a[href='/accounting/cheques']")), 3000);
$("a[href='/accounting/cheques']").click();
},
goToTrialBalance: function() {
browser.wait(EC.visibilityOf($("a[href='/accounting/trialBalance']")), 3000);
$("a[href='/accounting/trialBalance']").click();
},
goToPayrolls: function() {
browser.wait(EC.visibilityOf($("a[href='/accounting/payrolls']")), 3000);
$("a[href='/accounting/payrolls']").click();
},
viewAccountEntriesForAccount: function(accountIdentifier){
link = "/accounting/accounts/detail/" + accountIdentifier + "/entries";
browser.wait(EC.visibilityOf($('a[href="'+ link + '"]')));
$('a[href="'+ link + '"]').click();
browser.sleep(1000);
},
clickLinkShowForAccountWithName: function(name) {
browser.wait(EC.invisibilityOf($("div[class='md-padding'] h3")), 5000);
browser.sleep(1000);
browser.wait(EC.textToBePresentInElement($$("tbody tr .td-data-table-cell").last(), "SHOW"), 5000);
$$('tbody tr').filter(function(elem, index) {
return elem.$$(".td-data-table-cell").get(1).getText().then(function(text) {
return text === name;
});
}).$$(".td-data-table-cell").last().click();
},
clickLinkShowForAccountWithIdentifier: function(identifier) {
browser.wait(EC.invisibilityOf($("div[class='md-padding'] h3")), 5000);
browser.sleep(1000);
browser.wait(EC.textToBePresentInElement($$("tbody tr .td-data-table-cell").last(), "SHOW"), 5000);
$$('tbody tr').filter(function(elem, index) {
return elem.$$(".td-data-table-cell").get(0).getText().then(function(text) {
return text === identifier;
});
}).$$(".td-data-table-cell").last().click();
},
verifyAccountStatus: function(expectedStatus){
browser.wait(EC.visibilityOf($("fims-state-display")), 2000);
expect($("fims-state-display .mat-list-text .mat-line").getText().then(function(text){
return text === expectedStatus;
})).toBe(true);
},
verifyAccountInfo: function(heading, value) {
expect($$(".md-list-item .mat-list-text").filter(function (elem, index) {
return elem.$("h3").getText().then(function (text) {
return text === heading;
}).$(p).getText().then(function (text) {
return text === value;
}).toBe(true);
}));
},
verifyTransactionTypeForRow: function(type, row) {
browser.wait(EC.visibilityOf($("table tbody")), 3000);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(1).getText()).toEqual(type);
},
verifyTransactionMessageForRow: function(message, row) {
browser.wait(EC.visibilityOf($("table tbody")), 3000);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(2).getText()).toEqual(message);
},
verifyTransactionAmountForRow: function(amount, row) {
browser.wait(EC.visibilityOf($("table tbody")), 3000);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(3).getText()).toEqual(amount);
},
verifyTransactionBalanceForRow: function(balance, row) {
browser.wait(EC.visibilityOf($("table tbody")), 3000);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(4).getText()).toEqual(balance);
},
clickCreateNewAccountInLedger: function(ledger){
link = "/accounting/ledgers/detail/" + ledger + "/accounts/create";
browser.wait(EC.visibilityOf($('a[href="'+ link + '"]')));
$('a[href="'+ link + '"]').click();
},
enterTextIntoAccountIdentifierInputField: function(text) {
browser.wait(EC.visibilityOf(accountIdentifierInput), 5000);
accountIdentifierInput.click().sendKeys(text);
},
enterTextIntoAccountNameInputField: function(text) {
browser.wait(EC.visibilityOf(accountNameInput), 5000);
accountNameInput.click().sendKeys(text);
},
enterTextIntoAccountBalanceInputField: function(text) {
browser.wait(EC.visibilityOf(accountBalanceInput), 5000);
accountBalanceInput.click().sendKeys(text);
},
clickButtonCreateAccount: function(){
primaryButton.filter(function(elem, index) {
return elem.$("span").getText().then(function(text) {
return text === "CREATE ACCOUNT";
});
}).click();
},
verifyRadioAssetToBeSelected: function() {
expect(radioButtonAsset.getAttribute("class")).toMatch("mat-radio-checked");
},
verifyRadioAssetToBeDisabled: function() {
expect(radioButtonAsset.getAttribute("class")).toMatch("mat-radio-disabled");
},
verifyRadioRevenueToBeSelected: function() {
expect(radioButtonRevenue.getAttribute("class")).toMatch("mat-radio-checked");
},
//Journal entries
enterTextIntoSearchAccountInputField: function(account) {
browser.wait(EC.visibilityOf(accountSearchInputField), 5000);
accountSearchInputField.click().sendKeys(account);
},
clickSearchButton: function(){
$$("button").filter(function(elem, index) {
return elem.$("span md-icon").getText().then(function(text) {
return text === "search";
});
}).click();
},
verifyFirstJournalEntry: function(transactionType, transactionAmount){
browser.sleep(500);
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").first().getText().then(function(text){
return text === transactionType;
})).toBe(true);
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(1).getText().then(function(text){
return text === transactionAmount;
})).toBe(true);
},
verifySecondJournalEntry: function(transactionType, transactionAmount){
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(2).getText().then(function(text){
return text === transactionType;
})).toBe(true);
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(3).getText().then(function(text){
return text === transactionAmount;
})).toBe(true);
},
verifyThirdJournalEntry: function(transactionType, transactionAmount){
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(4).getText().then(function(text){
return text === transactionType;
})).toBe(true);
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(5).getText().then(function(text){
return text === transactionAmount;
})).toBe(true);
},
verifyFourthJournalEntry: function(transactionType, transactionAmount){
browser.sleep(500);
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(6).getText().then(function(text){
return text === transactionType;
})).toBe(true);
expect($$("fims-layout-card-over .mat-list-item .mat-list-text p").get(7).getText().then(function(text){
return text === transactionAmount;
})).toBe(true);
},
verifyAccountHasBeenDebitedWithAmountInRow: function(account, amount, row) {
browser.wait(EC.visibilityOf($("table tbody")), 3000);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(0).getText()).toEqual(account);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(2).getText()).toEqual(amount);
},
verifyAccountHasBeenCreditedWithAmountInRow: function(account, amount, row) {
browser.wait(EC.visibilityOf($("table tbody")), 3000);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(1).getText()).toEqual(account);
expect($$("table tbody tr").get(row - 1).$$(".td-data-table-cell").get(2).getText()).toEqual(amount);
},
verifyClerkForJournalEntryIs: function (clerk){
browser.sleep(3000);
expect($$("md-card .mat-list-text").filter(function(elem, index) {
return elem.$("h3").getText().then(function(text) {
return text === "Clerk";
});
}).$$("p").getText().then(function(text){
return text == clerk;
})).toBe(true);
},
verifyMessageForJournalEntryIs: function (message){
expect($$("md-card .mat-list-text").filter(function(elem, index) {
return elem.$("h3").getText().then(function(text) {
return text === "Message";
});
}).$$("p").getText().then(function(text){
return text == message;
})).toBe(true);
},
};