[CORD-1133] E2E GUI Tests
Change-Id: I521d0cc068a3e328f3d4f421ba4b342bea167e19
(cherry picked from commit d3b57a10471fcaf579707d636c0dbeb9328bae33)
diff --git a/e2e/crud/crud.spec.js b/e2e/crud/crud.spec.js
new file mode 100644
index 0000000..f3660b4
--- /dev/null
+++ b/e2e/crud/crud.spec.js
@@ -0,0 +1,51 @@
+const user = require('../test_helpers/user');
+const page = require('./crud.po');
+const config = require('../test_helpers/config');
+
+describe('XOS CRUD Page', function() {
+
+ beforeEach((done) => {
+ user.login()
+ .then(() => {
+ done();
+ });
+ });
+
+ describe('list view', () => {
+ beforeEach(() => {
+ browser.get(`${config.url}/core/nodes/`);
+ });
+ it('should have a table', () => {
+ expect(page.tableRows.count()).toBe(2);
+ expect(page.tableColumn.count()).toBe(5);
+ expect(page.deleteBtn.count()).toBe(1); // per row
+ });
+
+ it('should have an add button', () => {
+ expect(page.addBtn.isDisplayed()).toBeTruthy();
+ page.addBtn.click();
+ expect(browser.getCurrentUrl()).toBe(`${config.url}/core/nodes/add`);
+ });
+ });
+
+ describe('details view', () => {
+
+ describe('for an existing model', () => {
+ beforeEach(() => {
+ browser.get(`${config.url}/core/nodes/1`);
+ });
+ it('should have a form', () => {
+ expect(page.formInputs.count()).toBe(5);
+ expect(page.formBtn.isPresent()).toBeTruthy();
+ });
+
+ it('should save the model', () => {
+ page.nameField.clear().sendKeys('test');
+ page.formBtn.click();
+ expect(page.nameField.getAttribute('value')).toBe('test');
+ expect(page.successFeedback.isDisplayed()).toBeTruthy();
+ browser.sleep(3000)
+ });
+ })
+ });
+});
\ No newline at end of file