Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated UI tests for bursar export plugin #1813

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4891819
Added Duke and Cornell test files and updated helper functions
danetsao Aug 7, 2023
fc83873
Added run manully function
danetsao Aug 8, 2023
0addf36
Added openAccordion, aggregateByPatron, basic format functions
danetsao Aug 10, 2023
d85599e
Cleaned up helper functions
danetsao Aug 10, 2023
3644efb
Added transfer account helper function
danetsao Aug 10, 2023
dcfd636
Added verify expect statementes for each section
danetsao Aug 14, 2023
e01db80
Change all double quotes to single quotes
danetsao Aug 14, 2023
fa69414
Updated verify helper functions
danetsao Aug 15, 2023
41cfeb4
Updated verify helper functions
danetsao Aug 15, 2023
a158a2a
Added format clear helper function
danetsao Aug 15, 2023
ad9b927
Added ESLint code fixes
danetsao Aug 15, 2023
2b751e8
Completed scheduling helper functions
nhanaa Aug 15, 2023
7ed872e
Added Cornell format helper functions
danetsao Aug 15, 2023
ca7d143
Merge branch 'danetsao' of github.com:ualibweb/stripes-testing into d…
danetsao Aug 15, 2023
b8838d1
Added Header Format and Account Data Format verify helper functions
danetsao Aug 15, 2023
d4fdb5f
Added basic outline for Duke bursar file
danetsao Aug 15, 2023
3726329
Added Duke body and header function
danetsao Aug 16, 2023
d59afcd
Fix problem with scheduling weekdays multiselect
nhanaa Aug 18, 2023
8fd4897
Merge pull request #1 from ualibweb/pax
danetsao Aug 18, 2023
00dd91e
Added Duke verify functions, header and body
danetsao Aug 18, 2023
3478bde
Added Alabama file
danetsao Aug 28, 2023
56b006f
Merge pull request #2 from ualibweb/danetsao
nhanaa Sep 6, 2023
f1ed3a4
Set up precondition data and check file content (#12)
GoZaddy Oct 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,85 @@
import settingsMenu from '../../../../support/fragments/settingsMenu';
import TransferFeeFine from '../../../../support/fragments/users/transferFeeFine';

describe('Build the Duke bursar transfer file', () => {
let testData;
before('Preconditions', () => {
testData = TransferFeeFine.setUpTransferCriteriaTestData('bama');

cy.loginAsAdmin({
path: settingsMenu.usersTransferCriteria,
waiter: TransferFeeFine.waitLoadingTransferCriteria,
});
});

after('Delete created entities', () => {
TransferFeeFine.cleanUpCreatedEntities(testData);
});

it('should be able to open all the panes', () => {
TransferFeeFine.openAllPanes();
TransferFeeFine.verifyOpenAllPanes();
});

it('should be able to set scheduling', () => {
TransferFeeFine.setTransferCriteriaScheduling(
'Weeks',
'0',
'12:00 A',
['Monday', 'Thursday']
);
TransferFeeFine.verifyTransferCriteriaScheduling(
'WEEK',
'0',
'12:00 AM',
['Monday', 'Thursday']
);
});

it('should be able to set no criteria', () => {
TransferFeeFine.setCriteria(false);
TransferFeeFine.verifyCriteria(false);
});

// Aggregate by patron: Box unchecked
it('should be able to set aggregate by patron', () => {
TransferFeeFine.setAggregateByPatron(false);
TransferFeeFine.verifyAggregateByPatron(false);
});

// Header Format
it('should be able to set header format', () => {
TransferFeeFine.clearFormat('header');
TransferFeeFine.verifyClearFormat('header');
TransferFeeFine.addAlabamaHeaderFormat();
TransferFeeFine.verifyAddAlabamaHeaderFormat();
});

// Account Data Format
it('should be able to set account data format', () => {
TransferFeeFine.clearFormat('data');
TransferFeeFine.verifyClearFormat('data');
TransferFeeFine.addAlabamaDataFormat();
TransferFeeFine.verifyAddAlabamaDataFormat();
});

// Footer Format
it('should be able to set footer format', () => {
TransferFeeFine.clearFormat('footer');
TransferFeeFine.verifyClearFormat('footer');
});

// Transfer account data to
it('should be able to set transfer account data to', () => {
TransferFeeFine.setTransferAccount(testData.feeFineOwnerTwo.owner, testData.transferAccount.accountName);
TransferFeeFine.verifyTransferAccount(testData.feeFineOwnerTwo.id, testData.transferAccount.id);
});

it('should be able to run manually', () => {
TransferFeeFine.runManually();
TransferFeeFine.verifyRunManually();

// check file content
TransferFeeFine.checkFileContent(testData.fileContent);
});
});
@@ -0,0 +1,89 @@
import TransferFeeFine from '../../../../support/fragments/users/transferFeeFine';
import settingsMenu from '../../../../support/fragments/settingsMenu';


describe('Build the Cornell bursar transfer file', () => {
let testData;
before('Preconditions', () => {
testData = TransferFeeFine.setUpTransferCriteriaTestData('cornell');

cy.loginAsAdmin({
path: settingsMenu.usersTransferCriteria,
waiter: TransferFeeFine.waitLoadingTransferCriteria,
});
});


after('Delete created entities', () => {
TransferFeeFine.cleanUpCreatedEntities(testData);
});

it('should be able to open all the panes', () => {
TransferFeeFine.openAllPanes();
TransferFeeFine.verifyOpenAllPanes();
});


it('should be able to set scheduling', () => {
TransferFeeFine.setTransferCriteriaScheduling(
'Weeks',
'1',
'11:00 P',
['Monday']
);
TransferFeeFine.verifyTransferCriteriaScheduling(
'WEEK',
'1',
'11:00 PM',
['Monday']
);
});

it('should be able to set criteria to filter by owner', () => {
TransferFeeFine.setCriteriaFeeFineOwner(testData.feeFineOwnerOne.owner);
TransferFeeFine.verifyCriteriaFeeFineOwner(testData.feeFineOwnerOne.id);
});

// Aggregate by patron: Box unchecked
it('should be able to set aggregate by patron', () => {
TransferFeeFine.setAggregateByPatron(false);
TransferFeeFine.verifyAggregateByPatron(false);
});

// Header Format
it('should be able to set header format', () => {
TransferFeeFine.clearFormat('header');
TransferFeeFine.verifyClearFormat('header');
TransferFeeFine.addCornellHeaderFormat();
TransferFeeFine.verifyAddCornellHeaderFormat();
});

// Account Data Format
it('should be able to set account data format', () => {
TransferFeeFine.clearFormat('data');
TransferFeeFine.verifyClearFormat('data');
TransferFeeFine.addCornellDataFormat();
TransferFeeFine.verifyAddCornellDataFormat();
});

// Footer Format
it('should be able to set footer format', () => {
TransferFeeFine.clearFormat('footer');
TransferFeeFine.verifyClearFormat('footer');
});


// Transfer account data to
it('should be able to set transfer account data to', () => {
TransferFeeFine.setTransferAccount(testData.feeFineOwnerTwo.owner, testData.transferAccount.accountName);
TransferFeeFine.verifyTransferAccount(testData.feeFineOwnerTwo.id, testData.transferAccount.id);
});

it('should be able to run manually', () => {
TransferFeeFine.runManually();
TransferFeeFine.verifyRunManually();

// check file content
TransferFeeFine.checkFileContent(testData.fileContent);
});
});
@@ -0,0 +1,84 @@
import settingsMenu from '../../../../support/fragments/settingsMenu';
import TransferFeeFine from '../../../../support/fragments/users/transferFeeFine';

describe('Build the Duke bursar transfer file', () => {
let testData;
before(() => {
testData = TransferFeeFine.setUpTransferCriteriaTestData('duke');
cy.loginAsAdmin({
path: settingsMenu.usersTransferCriteria,
waiter: TransferFeeFine.waitLoadingTransferCriteria,
});
});

after('Delete created entities', () => {
TransferFeeFine.cleanUpCreatedEntities(testData);
});

it('should be able to open all the panes', () => {
TransferFeeFine.openAllPanes();
TransferFeeFine.verifyOpenAllPanes();
});

it('should be able to set scheduling', () => {
TransferFeeFine.setTransferCriteriaScheduling(
'Weeks',
'0',
'3:30 P',
['Monday']
);
TransferFeeFine.verifyTransferCriteriaScheduling(
'WEEK',
'0',
'3:30 PM',
['Monday']
);
});

it('should be able to set no criteria', () => {
TransferFeeFine.setCriteria(false);
TransferFeeFine.verifyCriteria(false);
});

// Aggregate by patron: Box unchecked
it('should be able to set aggregate by patron', () => {
TransferFeeFine.setAggregateByPatron(false);
TransferFeeFine.verifyAggregateByPatron(false);
});

// Header Format
it('should be able to set header format', () => {
TransferFeeFine.clearFormat('header');
TransferFeeFine.verifyClearFormat('header');
TransferFeeFine.addDukeHeaderFormat();
TransferFeeFine.verifyAddDukeHeaderFormat();
});

// Account Data Format
it('should be able to set account data format', () => {
TransferFeeFine.clearFormat('data');
TransferFeeFine.verifyClearFormat('data');
TransferFeeFine.addDukeDataFormat();
TransferFeeFine.verifyAddDukeDataFormat();
});

// Footer Format
it('should be able to set footer format', () => {
TransferFeeFine.clearFormat('footer');
TransferFeeFine.verifyClearFormat('footer');
});

// Transfer account data to
it('should be able to set transfer account data to', () => {
TransferFeeFine.setTransferAccount(testData.feeFineOwnerTwo.owner, testData.transferAccount.accountName);
TransferFeeFine.verifyTransferAccount(testData.feeFineOwnerTwo.id, testData.transferAccount.id);
});

it('should be able to run manually', () => {
TransferFeeFine.runManually();
TransferFeeFine.verifyRunManually();

// check file content
TransferFeeFine.checkFileContent(testData.fileContent);
});
});
19 changes: 15 additions & 4 deletions cypress/support/fragments/users/newFeeFine.js
@@ -1,5 +1,5 @@
import uuid from 'uuid';
import { Button, Modal, Option, Select, TextArea, MultiColumnListRow, HTML, TextField } from '../../../../interactors';
import { Button, HTML, Modal, MultiColumnListRow, Option, Select, TextArea, TextField } from '../../../../interactors';

const rootModal = Modal({ id: 'new-modal' });
const feeFineTypeSelect = rootModal.find(Select({ id: 'feeFineType' }));
Expand Down Expand Up @@ -38,11 +38,22 @@ const getNewFeeFineAccount = (values) => {
// required field
feeFineOwner: values.feeFineOwner,
};

if ('itemId' in values) {
return { ...body, itemId: values.itemId, barcode: values.barcode, title: values.title };
} else {
return body;
body.itemId = values.itemId;
body.barcode = values.barcode;
body.title = values.title;
}

if ('dateCreated' in values) {
body.dateCreated = values.dateCreated;
}

if ('dueDate' in values) {
body.dueDate = values.dueDate;
}

return body;
};

const createFeeFineAccountViaApi = (feeFineAccount) => (
Expand Down