From 7f71b91a5c4255e0691b9f17298b206366520235 Mon Sep 17 00:00:00 2001 From: xidedix <xidedix@users.noreply.github.com> Date: Fri, 19 Jan 2018 23:23:31 +0100 Subject: [PATCH] v1.0.9 with Bootstrap 4.0.0 --- CHANGELOG.md | 5 + Vue_Full_Project/CHANGELOG.md | 5 + Vue_Full_Project/package-lock.json | 200 +++++++++++------- Vue_Full_Project/package.json | 22 +- Vue_Full_Project/scss/style.scss | 2 +- .../src/components/{ => Header}/Header.vue | 0 .../{ => Header}/HeaderDropdown.vue | 0 .../src/components/{ => Sidebar}/Sidebar.vue | 7 +- .../{ => Sidebar}/SidebarFooter.vue | 0 .../components/{ => Sidebar}/SidebarForm.vue | 0 .../{ => Sidebar}/SidebarHeader.vue | 0 .../{ => Sidebar}/SidebarMinimizer.vue | 0 .../{ => Sidebar}/SidebarNavDivider.vue | 0 .../{ => Sidebar}/SidebarNavDropdown.vue | 0 .../{ => Sidebar}/SidebarNavItem.vue | 0 .../components/Sidebar/SidebarNavLabel.vue | 59 ++++++ .../{ => Sidebar}/SidebarNavLink.vue | 0 .../{ => Sidebar}/SidebarNavTitle.vue | 0 Vue_Full_Project/src/components/index.js | 4 +- .../src/views/buttons/Dropdowns.vue | 2 +- Vue_Full_Project/test/e2e/specs/test.js | 79 ++++++- Vue_Starter/package.json | 22 +- Vue_Starter/scss/style.scss | 2 +- .../src/components/{ => Sidebar}/Sidebar.vue | 7 +- .../{ => Sidebar}/SidebarFooter.vue | 0 .../components/{ => Sidebar}/SidebarForm.vue | 0 .../{ => Sidebar}/SidebarHeader.vue | 0 .../{ => Sidebar}/SidebarMinimizer.vue | 0 .../{ => Sidebar}/SidebarNavDivider.vue | 0 .../{ => Sidebar}/SidebarNavDropdown.vue | 0 .../{ => Sidebar}/SidebarNavItem.vue | 0 .../components/Sidebar/SidebarNavLabel.vue | 59 ++++++ .../{ => Sidebar}/SidebarNavLink.vue | 0 .../{ => Sidebar}/SidebarNavTitle.vue | 0 Vue_Starter/src/components/index.js | 2 +- Vue_Starter/test/e2e/nightwatch.conf.js | 5 +- Vue_Starter/test/e2e/specs/test.js | 80 ++++++- 37 files changed, 441 insertions(+), 121 deletions(-) rename Vue_Full_Project/src/components/{ => Header}/Header.vue (100%) rename Vue_Full_Project/src/components/{ => Header}/HeaderDropdown.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/Sidebar.vue (91%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarFooter.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarForm.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarHeader.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarMinimizer.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarNavDivider.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarNavDropdown.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarNavItem.vue (100%) create mode 100644 Vue_Full_Project/src/components/Sidebar/SidebarNavLabel.vue rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarNavLink.vue (100%) rename Vue_Full_Project/src/components/{ => Sidebar}/SidebarNavTitle.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/Sidebar.vue (91%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarFooter.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarForm.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarHeader.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarMinimizer.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarNavDivider.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarNavDropdown.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarNavItem.vue (100%) create mode 100644 Vue_Starter/src/components/Sidebar/SidebarNavLabel.vue rename Vue_Starter/src/components/{ => Sidebar}/SidebarNavLink.vue (100%) rename Vue_Starter/src/components/{ => Sidebar}/SidebarNavTitle.vue (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa94f7b4..250bef9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ## [vue](./README.md) version `changelog` +###### `v1.0.9` +- refactor: Sidebar structure +- test: initial e2e test added +- chore: dependencies update + ###### `v1.0.8` - update: vue to `2.5.13` - update: Bootstrap to `4.0.0-beta.3` diff --git a/Vue_Full_Project/CHANGELOG.md b/Vue_Full_Project/CHANGELOG.md index aa94f7b4..250bef9d 100644 --- a/Vue_Full_Project/CHANGELOG.md +++ b/Vue_Full_Project/CHANGELOG.md @@ -1,5 +1,10 @@ ## [vue](./README.md) version `changelog` +###### `v1.0.9` +- refactor: Sidebar structure +- test: initial e2e test added +- chore: dependencies update + ###### `v1.0.8` - update: vue to `2.5.13` - update: Bootstrap to `4.0.0-beta.3` diff --git a/Vue_Full_Project/package-lock.json b/Vue_Full_Project/package-lock.json index 7ec0e7b6..a51bd334 100644 --- a/Vue_Full_Project/package-lock.json +++ b/Vue_Full_Project/package-lock.json @@ -1,6 +1,6 @@ { "name": "@coreui/vue", - "version": "1.0.8", + "version": "1.0.9", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -251,6 +251,49 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "amqplib": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz", + "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==", + "dev": true, + "optional": true, + "requires": { + "bitsyntax": "0.0.4", + "bluebird": "3.5.1", + "buffer-more-ints": "0.0.2", + "readable-stream": "1.1.14", + "safe-buffer": "5.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, "ansi-escapes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", @@ -486,9 +529,9 @@ "dev": true }, "autoprefixer": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.4.tgz", - "integrity": "sha512-am8jJ7Rbh1sy7FvLvNxxQScWvhv2FwLAS3bIhvrZpx9HbX5PEcc/7v6ecgpWuiu0Dwlj+p/z/1boHd8x60JFwA==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.5.tgz", + "integrity": "sha512-XqHfo8Ht0VU+T5P+eWEVoXza456KJ4l62BPewu3vpNf3LP9s2+zYXkXBznzYby4XeECXgG3N4i+hGvOhXErZmA==", "dev": true, "requires": { "browserslist": "2.11.3", @@ -1251,7 +1294,7 @@ "babel-plugin-transform-regenerator": "6.26.0", "browserslist": "2.11.3", "invariant": "2.2.2", - "semver": "5.4.1" + "semver": "5.5.0" } }, "babel-preset-stage-2": { @@ -1419,6 +1462,16 @@ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, + "bitsyntax": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", + "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", + "dev": true, + "optional": true, + "requires": { + "buffer-more-ints": "0.0.2" + } + }, "bl": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", @@ -1514,14 +1567,14 @@ } }, "bootstrap": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0-beta.3.tgz", - "integrity": "sha512-/Qe1Q2d1muLEZRX2iCteMQHZBBAm6ZIjJ9FcBYK/xLr05+HvDtBOVBN+Cz7mCNZuy0zr+y5artZHM05W7mIz6g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0.tgz", + "integrity": "sha512-gulJE5dGFo6Q61V/whS6VM4WIyrlydXfCgkE+Gxe5hjrJ8rXLLZlALq7zq2RPhOc45PSwQpJkrTnc2KgD6cvmA==" }, "bootstrap-vue": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-1.4.0.tgz", - "integrity": "sha512-JuCwokO+Apm5nuj3h7VT46HIpinzCI0KyeLs5VYjRfuDoz3rTc/Kc/dYIc5a4rMxiObKfhaHqIYYnIklvPEcUQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-1.4.1.tgz", + "integrity": "sha512-TXQ28trpKPkdJS/SlcvKOS5DTWxUPkyhGf19urUG1r6Cq6YrzNI+kMipzGpj46XFlYu0WUutzOa9KraYyPLDBQ==", "requires": { "lodash.startcase": "4.4.0", "opencollective": "1.0.3", @@ -1773,6 +1826,12 @@ "ieee754": "1.1.8" } }, + "buffer-more-ints": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz", + "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=", + "dev": true + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -1829,7 +1888,7 @@ "move-concurrently": "1.0.1", "promise-inflight": "1.0.1", "rimraf": "2.6.2", - "ssri": "5.0.0", + "ssri": "5.1.0", "unique-filename": "1.1.0", "y18n": "3.2.1" } @@ -1950,7 +2009,7 @@ "deep-eql": "3.0.1", "get-func-name": "2.0.0", "pathval": "1.1.0", - "type-detect": "4.0.6" + "type-detect": "4.0.7" } }, "chai-nightwatch": { @@ -2710,9 +2769,9 @@ "dev": true }, "css-loader": { - "version": "0.28.8", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.8.tgz", - "integrity": "sha512-4jGj7Ag6WUZ5lQyE4te9sJLn0lgkz6HI3WDE4aw98AkW1IAKXPP4blTpPeorlLDpNsYvojo0SYgRJOdz2KbuAw==", + "version": "0.28.9", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.9.tgz", + "integrity": "sha512-r3dgelMm/mkPz5Y7m9SeiGE46i2VsEU/OYbez+1llfxtv8b2y5/b5StaeEvPK3S5tlNQI+tDW/xDIhKJoZgDtw==", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -2723,7 +2782,7 @@ "lodash.camelcase": "4.3.0", "object-assign": "4.1.1", "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-extract-imports": "1.2.0", "postcss-modules-local-by-default": "1.2.0", "postcss-modules-scope": "1.1.0", "postcss-modules-values": "1.3.0", @@ -3079,7 +3138,7 @@ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "type-detect": "4.0.6" + "type-detect": "4.0.7" } }, "deep-is": { @@ -3704,7 +3763,7 @@ "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", - "semver": "5.4.1", + "semver": "5.5.0", "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", "table": "4.0.2", @@ -6824,7 +6883,7 @@ "babel-types": "6.26.0", "babylon": "6.18.0", "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "semver": "5.5.0" } }, "js-base64": { @@ -6980,7 +7039,7 @@ "http-proxy": "1.16.2", "isbinaryfile": "3.0.2", "lodash": "4.17.4", - "log4js": "2.4.1", + "log4js": "2.5.2", "mime": "1.4.1", "minimatch": "3.0.4", "optimist": "0.6.1", @@ -7560,11 +7619,6 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" - }, "lodash.mergewith": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", @@ -7619,13 +7673,14 @@ } }, "log4js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.4.1.tgz", - "integrity": "sha512-GohFT8UU/Mq++o2NAp87r6cZi4bCNT4inPimRBWa+ewd6PVeA5xJTNmgdEcSYDOXzxk7hCyLh0gmpJNEPgLS+g==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.5.2.tgz", + "integrity": "sha512-MmZhzQCfCV5+nQgOqy34V9EV3k+Z/rPCdxyq+25EePKpwdUQxCb19BTmL5iX3iOCSAV/tWh7KVYqchwrx3+S2Q==", "dev": true, "requires": { + "amqplib": "0.5.2", "axios": "0.15.3", - "circular-json": "0.4.0", + "circular-json": "0.5.1", "date-format": "1.2.0", "debug": "3.1.0", "hipchat-notifier": "1.1.0", @@ -7633,15 +7688,15 @@ "mailgun-js": "0.7.15", "nodemailer": "2.7.2", "redis": "2.8.0", - "semver": "5.4.1", + "semver": "5.5.0", "slack-node": "0.2.0", "streamroller": "0.7.0" }, "dependencies": { "circular-json": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.4.0.tgz", - "integrity": "sha512-tKV502ADgm9Z37s6B1QOohegjJJrCl2iyMMb1+8ITHrh1fquW8Jdbkb4s5r4Iwutr1UfL1qvkqvc1wZZlLvwow==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz", + "integrity": "sha512-UjgcRlTAhAkLeXmDe2wK7ktwy/tgAqxiSndTIPiFZuIPLZmzHzWMwUIe9h9m/OokypG7snxCDEuwJshGBdPvaw==", "dev": true }, "debug": { @@ -8217,9 +8272,9 @@ "dev": true }, "mocha": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", - "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz", + "integrity": "sha512-ukB2dF+u4aeJjc6IGtPNnJXfeby5d4ZqySlIBT0OEyva/DrMjVm5HkQxKnHDLKEfEQBsEnwTg9HHhtPHJdTd8w==", "dev": true, "requires": { "browser-stdout": "1.3.0", @@ -8936,7 +8991,7 @@ "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", - "semver": "5.4.1", + "semver": "5.5.0", "validate-npm-package-license": "3.0.1" } }, @@ -9111,9 +9166,9 @@ "dev": true }, "opn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", + "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", "dev": true, "requires": { "is-wsl": "1.1.0" @@ -10711,9 +10766,9 @@ } }, "postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { "postcss": "6.0.16" @@ -12017,9 +12072,9 @@ } }, "requestretry": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.12.2.tgz", - "integrity": "sha512-wDYnH4imurLs5upu31WoPaOFfEu31qhFlF7KgpYbBsmBagFmreZZo8E/XpoQ3erCP5za+72t8k8QI4wlrtwVXw==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", + "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", "dev": true, "optional": true, "requires": { @@ -12277,9 +12332,9 @@ "dev": true }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "send": { @@ -12422,9 +12477,9 @@ } }, "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.0.tgz", + "integrity": "sha512-wb72o5SM27oFRq2mMeNSl70DVkkvwf3ZSgk9rvieRVz7xFMIQp02HYw0oxlZgeAWS+wzGB+jcJWQTF7hH9WIPg==", "dev": true, "requires": { "glob": "7.1.2", @@ -12443,9 +12498,9 @@ "integrity": "sha1-t1vFoNh+UwkowszaVzUnS7JW8jQ=" }, "sinon": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.1.4.tgz", - "integrity": "sha512-ISJZDPf8RS2z4/LAgy1gIimAvF9zg9C9ClQhLTWYWm4HBZjo1WELXlVfkudjdYeN+GtQ2uVBe52m0npIV0gDow==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.1.6.tgz", + "integrity": "sha1-nLNGvdsYDWioBEKf/hSXjX+v1ik=", "dev": true, "requires": { "diff": "3.3.1", @@ -12453,14 +12508,14 @@ "lodash.get": "4.4.2", "lolex": "2.3.1", "nise": "1.2.0", - "supports-color": "4.5.0", - "type-detect": "4.0.6" + "supports-color": "5.1.0", + "type-detect": "4.0.7" }, "dependencies": { "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", + "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -12481,7 +12536,7 @@ "dev": true, "optional": true, "requires": { - "requestretry": "1.12.2" + "requestretry": "1.13.0" } }, "slash": { @@ -12695,9 +12750,9 @@ } }, "ssri": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", - "integrity": "sha512-728D4yoQcQm1ooZvSbywLkV1RjfITZXh0oWrhM/lnsx3nAHx7LsRGJWB/YyvoceAYRq98xqbstiN4JBv1/wNHg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.1.0.tgz", + "integrity": "sha512-TevC8fgxQKTfQ1nWtM9GNzr3q5rrHNntG9CDMH1k3QhSZI6Kb+NbjLRs8oPFZa2Hgo7zoekL+UTvoEk7tsbjQg==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -13165,9 +13220,9 @@ } }, "type-detect": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.6.tgz", - "integrity": "sha512-qZ3bAurt2IXGPR3c57PyaSYEnQiLRwPeS60G9TahElBZsdOABo+iKYch/PhRjSTZJ5/DF08x43XMt9qec2g3ig==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.7.tgz", + "integrity": "sha512-4Rh17pAMVdMWzktddFhISRnUnFIStObtUMNGzDwlA6w/77bmGv3aBbRdCmQR6IjzfkTo9otnW+2K/cDRhKSxDA==", "dev": true }, "type-is": { @@ -13465,12 +13520,9 @@ "integrity": "sha512-3D+lY7HTkKbtswDM4BBHgqyq+qo8IAEE8lz8va1dz3LLmttjgo0FxairO4r1iN2OBqk8o1FyL4hvzzTFEdQSEw==" }, "vue-chartjs": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-3.0.2.tgz", - "integrity": "sha512-m6ItjL8o3ff4JpbF083RzZ4KPiNBFsqMKmWCcAtlisOdm1vvB/9mUDJePmxYKJkvl2AcpvLPiH1cUrhq46r8vA==", - "requires": { - "lodash.merge": "4.6.0" - } + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-3.1.0.tgz", + "integrity": "sha512-cp70zluNJdN57J907hSzjp4jayF6O0ayBJ/alZprHx+BvbVe+nL+QF3TOPSSao3UoenCopYJybmDi/RWYb7afw==" }, "vue-functional-data-merge": { "version": "2.0.4", diff --git a/Vue_Full_Project/package.json b/Vue_Full_Project/package.json index 6b6fd5a1..53edf026 100644 --- a/Vue_Full_Project/package.json +++ b/Vue_Full_Project/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/vue", - "version": "1.0.8", + "version": "1.0.9", "description": "Open Source Bootstrap Admin Template", "author": "Łukasz Holeczek", "homepage": "http://coreui.io", @@ -17,18 +17,18 @@ "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs" }, "dependencies": { - "bootstrap": "4.0.0-beta.3", - "bootstrap-vue": "1.4.0", + "bootstrap": "4.0.0", + "bootstrap-vue": "1.4.1", "chart.js": "2.7.1", "flag-icon-css": "2.9.0", "font-awesome": "^4.7.0", "simple-line-icons": "^2.4.1", "vue": "2.5.13", - "vue-chartjs": "3.0.2", + "vue-chartjs": "3.1.0", "vue-router": "3.0.1" }, "devDependencies": { - "autoprefixer": "7.2.4", + "autoprefixer": "7.2.5", "babel-core": "6.26.0", "babel-eslint": "8.2.1", "babel-loader": "7.1.2", @@ -39,7 +39,7 @@ "chalk": "2.3.0", "connect-history-api-fallback": "1.5.0", "copy-webpack-plugin": "4.3.1", - "css-loader": "0.28.8", + "css-loader": "0.28.9", "eslint": "4.15.0", "eslint-friendly-formatter": "3.0.0", "eslint-loader": "1.9.0", @@ -67,9 +67,9 @@ "karma-spec-reporter": "0.0.32", "karma-webpack": "2.0.9", "lolex": "2.3.1", - "mocha": "4.1.0", + "mocha": "5.0.0", "chai": "4.1.2", - "sinon": "4.1.4", + "sinon": "4.1.6", "sinon-chai": "2.14.0", "inject-loader": "3.0.1", "babel-plugin-istanbul": "4.1.5", @@ -80,9 +80,9 @@ "node-sass": "4.7.2", "sass-loader": "6.0.6", "selenium-server": "3.8.1", - "semver": "5.4.1", - "shelljs": "0.7.8", - "opn": "5.1.0", + "semver": "5.5.0", + "shelljs": "0.8.0", + "opn": "5.2.0", "optimize-css-assets-webpack-plugin": "3.2.0", "ora": "1.3.0", "rimraf": "2.6.2", diff --git a/Vue_Full_Project/scss/style.scss b/Vue_Full_Project/scss/style.scss index 5432fff3..468386c5 100644 --- a/Vue_Full_Project/scss/style.scss +++ b/Vue_Full_Project/scss/style.scss @@ -1,6 +1,6 @@ /*! * CoreUI - Open Source Bootstrap Admin Template - * @version v1.0.8 + * @version v1.0.9 * @link http://coreui.io * Copyright (c) 2018 creativeLabs Łukasz Holeczek * @license MIT diff --git a/Vue_Full_Project/src/components/Header.vue b/Vue_Full_Project/src/components/Header/Header.vue similarity index 100% rename from Vue_Full_Project/src/components/Header.vue rename to Vue_Full_Project/src/components/Header/Header.vue diff --git a/Vue_Full_Project/src/components/HeaderDropdown.vue b/Vue_Full_Project/src/components/Header/HeaderDropdown.vue similarity index 100% rename from Vue_Full_Project/src/components/HeaderDropdown.vue rename to Vue_Full_Project/src/components/Header/HeaderDropdown.vue diff --git a/Vue_Full_Project/src/components/Sidebar.vue b/Vue_Full_Project/src/components/Sidebar/Sidebar.vue similarity index 91% rename from Vue_Full_Project/src/components/Sidebar.vue rename to Vue_Full_Project/src/components/Sidebar/Sidebar.vue index da8c6413..6d06fb7f 100644 --- a/Vue_Full_Project/src/components/Sidebar.vue +++ b/Vue_Full_Project/src/components/Sidebar/Sidebar.vue @@ -12,6 +12,9 @@ <template v-else-if="item.divider"> <SidebarNavDivider :classes="item.class"/> </template> + <template v-else-if="item.label"> + <SidebarNavLabel :name="item.name" :url="item.url" :icon="item.icon" :label="item.label" :classes="item.class"/> + </template> <template v-else> <template v-if="item.children"> <!-- First level dropdown --> @@ -57,6 +60,7 @@ import SidebarNavDropdown from './SidebarNavDropdown' import SidebarNavLink from './SidebarNavLink' import SidebarNavTitle from './SidebarNavTitle' import SidebarNavItem from './SidebarNavItem' +import SidebarNavLabel from './SidebarNavLabel' export default { name: 'sidebar', props: { @@ -75,7 +79,8 @@ export default { SidebarNavDropdown, SidebarNavLink, SidebarNavTitle, - SidebarNavItem + SidebarNavItem, + SidebarNavLabel }, methods: { handleClick (e) { diff --git a/Vue_Full_Project/src/components/SidebarFooter.vue b/Vue_Full_Project/src/components/Sidebar/SidebarFooter.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarFooter.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarFooter.vue diff --git a/Vue_Full_Project/src/components/SidebarForm.vue b/Vue_Full_Project/src/components/Sidebar/SidebarForm.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarForm.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarForm.vue diff --git a/Vue_Full_Project/src/components/SidebarHeader.vue b/Vue_Full_Project/src/components/Sidebar/SidebarHeader.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarHeader.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarHeader.vue diff --git a/Vue_Full_Project/src/components/SidebarMinimizer.vue b/Vue_Full_Project/src/components/Sidebar/SidebarMinimizer.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarMinimizer.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarMinimizer.vue diff --git a/Vue_Full_Project/src/components/SidebarNavDivider.vue b/Vue_Full_Project/src/components/Sidebar/SidebarNavDivider.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarNavDivider.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarNavDivider.vue diff --git a/Vue_Full_Project/src/components/SidebarNavDropdown.vue b/Vue_Full_Project/src/components/Sidebar/SidebarNavDropdown.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarNavDropdown.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarNavDropdown.vue diff --git a/Vue_Full_Project/src/components/SidebarNavItem.vue b/Vue_Full_Project/src/components/Sidebar/SidebarNavItem.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarNavItem.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarNavItem.vue diff --git a/Vue_Full_Project/src/components/Sidebar/SidebarNavLabel.vue b/Vue_Full_Project/src/components/Sidebar/SidebarNavLabel.vue new file mode 100644 index 00000000..20ed7ced --- /dev/null +++ b/Vue_Full_Project/src/components/Sidebar/SidebarNavLabel.vue @@ -0,0 +1,59 @@ +<template> + <SidebarNavItem :classes="classList.navItem"> + <a :class="classList.navLink" :href="url"><i :class="classList.icon"></i> {{name}}</a> + </SidebarNavItem> +</template> + +<script> + import SidebarNavItem from './SidebarNavItem' + import SidebarNavLink from './SidebarNavLink' + export default { + name: 'sidebar-nav-label', + components: { + SidebarNavItem, + SidebarNavLink + }, + props: { + name: { + type: String, + default: '' + }, + url: { + type: String, + default: '#' + }, + icon: { + type: String, + default: 'fa fa-circle' + }, + classes: { + type: String, + default: '' + }, + label: { + type: Object, + required: true, + default: () => {} + } + }, + computed: { + classList () { + const classes = { + navItem: ['hidden-cn', ...this.getClasses(this.classes)].join(' '), + navLink: 'nav-label', + icon: [ + this.icon ? this.icon : 'fa fa-circle', + this.label.variant ? `text-${this.label.variant}` : '', + this.label.class ? this.label.class : '' + ].join(' ') + } + return classes + } + }, + methods: { + getClasses (classes) { + return classes ? classes.split(' ') : [] + } + } + } +</script> diff --git a/Vue_Full_Project/src/components/SidebarNavLink.vue b/Vue_Full_Project/src/components/Sidebar/SidebarNavLink.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarNavLink.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarNavLink.vue diff --git a/Vue_Full_Project/src/components/SidebarNavTitle.vue b/Vue_Full_Project/src/components/Sidebar/SidebarNavTitle.vue similarity index 100% rename from Vue_Full_Project/src/components/SidebarNavTitle.vue rename to Vue_Full_Project/src/components/Sidebar/SidebarNavTitle.vue diff --git a/Vue_Full_Project/src/components/index.js b/Vue_Full_Project/src/components/index.js index 02a33f88..42502c45 100644 --- a/Vue_Full_Project/src/components/index.js +++ b/Vue_Full_Project/src/components/index.js @@ -2,8 +2,8 @@ import Aside from './Aside.vue' import Breadcrumb from './Breadcrumb.vue' import Callout from './Callout.vue' import Footer from './Footer.vue' -import Header from './Header.vue' -import Sidebar from './Sidebar.vue' +import Header from './Header/Header.vue' +import Sidebar from './Sidebar/Sidebar.vue' import Switch from './Switch.vue' export { diff --git a/Vue_Full_Project/src/views/buttons/Dropdowns.vue b/Vue_Full_Project/src/views/buttons/Dropdowns.vue index a096e297..c873ea51 100644 --- a/Vue_Full_Project/src/views/buttons/Dropdowns.vue +++ b/Vue_Full_Project/src/views/buttons/Dropdowns.vue @@ -13,7 +13,7 @@ </div> </div> <div> - <b-dropdown id="ddown1" text="Dropdown Button" class="m-md-2"> + <b-dropdown id="ddown1" text="Dropdown Button" class="m-2"> <b-dropdown-item>First Action</b-dropdown-item> <b-dropdown-item>Second Action</b-dropdown-item> <b-dropdown-item>Third Action</b-dropdown-item> diff --git a/Vue_Full_Project/test/e2e/specs/test.js b/Vue_Full_Project/test/e2e/specs/test.js index a7b1bd92..8f491082 100644 --- a/Vue_Full_Project/test/e2e/specs/test.js +++ b/Vue_Full_Project/test/e2e/specs/test.js @@ -2,18 +2,81 @@ // http://nightwatchjs.org/guide#usage module.exports = { - 'default e2e tests': function (browser) { + + before : function(browser) { + console.log('Setting up...'); + }, + + after : function(browser) { + console.log('Closing down...'); + }, + + 'CoreUI Vue e2e tests': function (browser) { // automatically uses dev Server port from /config.index.js // default: http://localhost:8080 // see nightwatch.conf.js - const devServer = browser.globals.devServerURL + + const devServer = browser.globals.devServerURL; browser .url(devServer) - .waitForElementVisible('#app', 5000) - .assert.elementPresent('.hello') - .assert.containsText('h1', 'Welcome to Your Vue.js App') - .assert.elementCount('img', 1) - .end() + .pause(500) + .expect.element('body').to.be.present; + + browser.waitForElementVisible('.app > .app', 3000) + .assert.elementPresent('.app-header') + .assert.elementPresent('.app-header > .navbar-brand') + .assert.elementPresent('.app-body') + .assert.elementPresent('.app-body > .main > .breadcrumb') + .assert.elementPresent('.app-body > .main > .container-fluid > .animated') + .assert.elementPresent('.app-body > .sidebar > .sidebar-nav') + .assert.elementPresent('.app-body > .sidebar > .sidebar-minimizer') + .assert.elementPresent('.app-footer') + .assert.containsText('.app-footer > span', 'creativeLabs') + .assert.containsText('.app-footer > span.ml-auto', 'Powered by') + .assert.elementCount('button', 18) + .resizeWindow(1024, 800) + .pause(500); + + browser.click('body > div > header > button.navbar-toggler.aside-menu-toggler.d-md-down-none', function(response) { + this.assert.ok(browser === this, 'Check if the context is right.'); + this.assert.cssClassNotPresent('body', 'aside-menu-hidden'); + }); + + browser.pause(500); + + browser.click('body > div > header > button.navbar-toggler.aside-menu-toggler.d-md-down-none', function(response) { + this.assert.cssClassPresent('body', 'aside-menu-hidden'); + }); + + browser.pause(500); + + browser + .useXpath() + .click('/html/body/div/header/button[2]', function(response) { + this.assert.cssClassPresent('/html/body', 'sidebar-hidden'); + }); + + browser + .pause(500) + .click('/html/body/div/header/button[2]', function(response) { + this.assert.cssClassNotPresent('/html/body', 'sidebar-hidden'); + }); + + browser + .pause(500) + .click('/html/body/div/div/div/button', function(response) { + this.assert.cssClassPresent('/html/body', 'sidebar-minimized'); + this.assert.cssClassPresent('/html/body', 'brand-minimized'); + }) + .pause(500) + .click('/html/body/div/div/div/button', function(response) { + this.assert.cssClassNotPresent('/html/body', 'sidebar-minimized'); + this.assert.cssClassNotPresent('/html/body', 'brand-minimized'); + }); + + browser + .pause(3000) + .end(); } -} +}; diff --git a/Vue_Starter/package.json b/Vue_Starter/package.json index 6b6fd5a1..53edf026 100644 --- a/Vue_Starter/package.json +++ b/Vue_Starter/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/vue", - "version": "1.0.8", + "version": "1.0.9", "description": "Open Source Bootstrap Admin Template", "author": "Łukasz Holeczek", "homepage": "http://coreui.io", @@ -17,18 +17,18 @@ "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs" }, "dependencies": { - "bootstrap": "4.0.0-beta.3", - "bootstrap-vue": "1.4.0", + "bootstrap": "4.0.0", + "bootstrap-vue": "1.4.1", "chart.js": "2.7.1", "flag-icon-css": "2.9.0", "font-awesome": "^4.7.0", "simple-line-icons": "^2.4.1", "vue": "2.5.13", - "vue-chartjs": "3.0.2", + "vue-chartjs": "3.1.0", "vue-router": "3.0.1" }, "devDependencies": { - "autoprefixer": "7.2.4", + "autoprefixer": "7.2.5", "babel-core": "6.26.0", "babel-eslint": "8.2.1", "babel-loader": "7.1.2", @@ -39,7 +39,7 @@ "chalk": "2.3.0", "connect-history-api-fallback": "1.5.0", "copy-webpack-plugin": "4.3.1", - "css-loader": "0.28.8", + "css-loader": "0.28.9", "eslint": "4.15.0", "eslint-friendly-formatter": "3.0.0", "eslint-loader": "1.9.0", @@ -67,9 +67,9 @@ "karma-spec-reporter": "0.0.32", "karma-webpack": "2.0.9", "lolex": "2.3.1", - "mocha": "4.1.0", + "mocha": "5.0.0", "chai": "4.1.2", - "sinon": "4.1.4", + "sinon": "4.1.6", "sinon-chai": "2.14.0", "inject-loader": "3.0.1", "babel-plugin-istanbul": "4.1.5", @@ -80,9 +80,9 @@ "node-sass": "4.7.2", "sass-loader": "6.0.6", "selenium-server": "3.8.1", - "semver": "5.4.1", - "shelljs": "0.7.8", - "opn": "5.1.0", + "semver": "5.5.0", + "shelljs": "0.8.0", + "opn": "5.2.0", "optimize-css-assets-webpack-plugin": "3.2.0", "ora": "1.3.0", "rimraf": "2.6.2", diff --git a/Vue_Starter/scss/style.scss b/Vue_Starter/scss/style.scss index 5432fff3..468386c5 100644 --- a/Vue_Starter/scss/style.scss +++ b/Vue_Starter/scss/style.scss @@ -1,6 +1,6 @@ /*! * CoreUI - Open Source Bootstrap Admin Template - * @version v1.0.8 + * @version v1.0.9 * @link http://coreui.io * Copyright (c) 2018 creativeLabs Łukasz Holeczek * @license MIT diff --git a/Vue_Starter/src/components/Sidebar.vue b/Vue_Starter/src/components/Sidebar/Sidebar.vue similarity index 91% rename from Vue_Starter/src/components/Sidebar.vue rename to Vue_Starter/src/components/Sidebar/Sidebar.vue index da8c6413..6d06fb7f 100644 --- a/Vue_Starter/src/components/Sidebar.vue +++ b/Vue_Starter/src/components/Sidebar/Sidebar.vue @@ -12,6 +12,9 @@ <template v-else-if="item.divider"> <SidebarNavDivider :classes="item.class"/> </template> + <template v-else-if="item.label"> + <SidebarNavLabel :name="item.name" :url="item.url" :icon="item.icon" :label="item.label" :classes="item.class"/> + </template> <template v-else> <template v-if="item.children"> <!-- First level dropdown --> @@ -57,6 +60,7 @@ import SidebarNavDropdown from './SidebarNavDropdown' import SidebarNavLink from './SidebarNavLink' import SidebarNavTitle from './SidebarNavTitle' import SidebarNavItem from './SidebarNavItem' +import SidebarNavLabel from './SidebarNavLabel' export default { name: 'sidebar', props: { @@ -75,7 +79,8 @@ export default { SidebarNavDropdown, SidebarNavLink, SidebarNavTitle, - SidebarNavItem + SidebarNavItem, + SidebarNavLabel }, methods: { handleClick (e) { diff --git a/Vue_Starter/src/components/SidebarFooter.vue b/Vue_Starter/src/components/Sidebar/SidebarFooter.vue similarity index 100% rename from Vue_Starter/src/components/SidebarFooter.vue rename to Vue_Starter/src/components/Sidebar/SidebarFooter.vue diff --git a/Vue_Starter/src/components/SidebarForm.vue b/Vue_Starter/src/components/Sidebar/SidebarForm.vue similarity index 100% rename from Vue_Starter/src/components/SidebarForm.vue rename to Vue_Starter/src/components/Sidebar/SidebarForm.vue diff --git a/Vue_Starter/src/components/SidebarHeader.vue b/Vue_Starter/src/components/Sidebar/SidebarHeader.vue similarity index 100% rename from Vue_Starter/src/components/SidebarHeader.vue rename to Vue_Starter/src/components/Sidebar/SidebarHeader.vue diff --git a/Vue_Starter/src/components/SidebarMinimizer.vue b/Vue_Starter/src/components/Sidebar/SidebarMinimizer.vue similarity index 100% rename from Vue_Starter/src/components/SidebarMinimizer.vue rename to Vue_Starter/src/components/Sidebar/SidebarMinimizer.vue diff --git a/Vue_Starter/src/components/SidebarNavDivider.vue b/Vue_Starter/src/components/Sidebar/SidebarNavDivider.vue similarity index 100% rename from Vue_Starter/src/components/SidebarNavDivider.vue rename to Vue_Starter/src/components/Sidebar/SidebarNavDivider.vue diff --git a/Vue_Starter/src/components/SidebarNavDropdown.vue b/Vue_Starter/src/components/Sidebar/SidebarNavDropdown.vue similarity index 100% rename from Vue_Starter/src/components/SidebarNavDropdown.vue rename to Vue_Starter/src/components/Sidebar/SidebarNavDropdown.vue diff --git a/Vue_Starter/src/components/SidebarNavItem.vue b/Vue_Starter/src/components/Sidebar/SidebarNavItem.vue similarity index 100% rename from Vue_Starter/src/components/SidebarNavItem.vue rename to Vue_Starter/src/components/Sidebar/SidebarNavItem.vue diff --git a/Vue_Starter/src/components/Sidebar/SidebarNavLabel.vue b/Vue_Starter/src/components/Sidebar/SidebarNavLabel.vue new file mode 100644 index 00000000..20ed7ced --- /dev/null +++ b/Vue_Starter/src/components/Sidebar/SidebarNavLabel.vue @@ -0,0 +1,59 @@ +<template> + <SidebarNavItem :classes="classList.navItem"> + <a :class="classList.navLink" :href="url"><i :class="classList.icon"></i> {{name}}</a> + </SidebarNavItem> +</template> + +<script> + import SidebarNavItem from './SidebarNavItem' + import SidebarNavLink from './SidebarNavLink' + export default { + name: 'sidebar-nav-label', + components: { + SidebarNavItem, + SidebarNavLink + }, + props: { + name: { + type: String, + default: '' + }, + url: { + type: String, + default: '#' + }, + icon: { + type: String, + default: 'fa fa-circle' + }, + classes: { + type: String, + default: '' + }, + label: { + type: Object, + required: true, + default: () => {} + } + }, + computed: { + classList () { + const classes = { + navItem: ['hidden-cn', ...this.getClasses(this.classes)].join(' '), + navLink: 'nav-label', + icon: [ + this.icon ? this.icon : 'fa fa-circle', + this.label.variant ? `text-${this.label.variant}` : '', + this.label.class ? this.label.class : '' + ].join(' ') + } + return classes + } + }, + methods: { + getClasses (classes) { + return classes ? classes.split(' ') : [] + } + } + } +</script> diff --git a/Vue_Starter/src/components/SidebarNavLink.vue b/Vue_Starter/src/components/Sidebar/SidebarNavLink.vue similarity index 100% rename from Vue_Starter/src/components/SidebarNavLink.vue rename to Vue_Starter/src/components/Sidebar/SidebarNavLink.vue diff --git a/Vue_Starter/src/components/SidebarNavTitle.vue b/Vue_Starter/src/components/Sidebar/SidebarNavTitle.vue similarity index 100% rename from Vue_Starter/src/components/SidebarNavTitle.vue rename to Vue_Starter/src/components/Sidebar/SidebarNavTitle.vue diff --git a/Vue_Starter/src/components/index.js b/Vue_Starter/src/components/index.js index 02a33f88..06a4960c 100644 --- a/Vue_Starter/src/components/index.js +++ b/Vue_Starter/src/components/index.js @@ -3,7 +3,7 @@ import Breadcrumb from './Breadcrumb.vue' import Callout from './Callout.vue' import Footer from './Footer.vue' import Header from './Header.vue' -import Sidebar from './Sidebar.vue' +import Sidebar from './Sidebar/Sidebar.vue' import Switch from './Switch.vue' export { diff --git a/Vue_Starter/test/e2e/nightwatch.conf.js b/Vue_Starter/test/e2e/nightwatch.conf.js index f019c0ac..2c129417 100644 --- a/Vue_Starter/test/e2e/nightwatch.conf.js +++ b/Vue_Starter/test/e2e/nightwatch.conf.js @@ -31,7 +31,10 @@ module.exports = { desiredCapabilities: { browserName: 'chrome', javascriptEnabled: true, - acceptSslCerts: true + acceptSslCerts: true, + chromeOptions : { + args : ["start-maximized", "--incognito"] + } } }, diff --git a/Vue_Starter/test/e2e/specs/test.js b/Vue_Starter/test/e2e/specs/test.js index a7b1bd92..77a7b3c3 100644 --- a/Vue_Starter/test/e2e/specs/test.js +++ b/Vue_Starter/test/e2e/specs/test.js @@ -2,18 +2,82 @@ // http://nightwatchjs.org/guide#usage module.exports = { - 'default e2e tests': function (browser) { + + before : function(browser) { + console.log('Setting up...'); + }, + + after : function(browser) { + console.log('Closing down...'); + }, + + 'CoreUI Vue_Starter e2e tests': function (browser) { // automatically uses dev Server port from /config.index.js // default: http://localhost:8080 // see nightwatch.conf.js - const devServer = browser.globals.devServerURL + + const devServer = browser.globals.devServerURL; browser .url(devServer) - .waitForElementVisible('#app', 5000) - .assert.elementPresent('.hello') - .assert.containsText('h1', 'Welcome to Your Vue.js App') - .assert.elementCount('img', 1) - .end() + .pause(500) + .expect.element('body').to.be.present; + + browser.waitForElementVisible('.app > .app', 3000) + .assert.elementPresent('.app-header') + .assert.elementPresent('.app-header > .navbar-brand') + .assert.elementPresent('.app-body') + .assert.elementPresent('.app-body > .main > .breadcrumb') + .assert.elementPresent('.app-body > .main > .container-fluid > .animated > p') + .assert.containsText('.container-fluid > .animated > p', 'Hello World') + .assert.elementPresent('.app-body > .sidebar > .sidebar-nav') + .assert.elementPresent('.app-body > .sidebar > .sidebar-minimizer') + .assert.elementPresent('.app-footer') + .assert.containsText('.app-footer > span', 'creativeLabs') + .assert.containsText('.app-footer > span.ml-auto', 'Powered by') + .assert.elementCount('button', 4) + .resizeWindow(1024, 800) + .pause(500); + + browser.click('body > div > header > button.navbar-toggler.aside-menu-toggler.d-md-down-none', function(response) { + this.assert.ok(browser === this, 'Check if the context is right.'); + this.assert.cssClassNotPresent('body', 'aside-menu-hidden'); + }); + + browser.pause(500); + + browser.click('body > div > header > button.navbar-toggler.aside-menu-toggler.d-md-down-none', function(response) { + this.assert.cssClassPresent('body', 'aside-menu-hidden'); + }); + + browser.pause(500); + + browser + .useXpath() + .click('/html/body/div/header/button[2]', function(response) { + this.assert.cssClassPresent('/html/body', 'sidebar-hidden'); + }); + + browser + .pause(500) + .click('/html/body/div/header/button[2]', function(response) { + this.assert.cssClassNotPresent('/html/body', 'sidebar-hidden'); + }); + + browser + .pause(500) + .click('/html/body/div/div/div/button', function(response) { + this.assert.cssClassPresent('/html/body', 'sidebar-minimized'); + this.assert.cssClassPresent('/html/body', 'brand-minimized'); + }) + .pause(500) + .click('/html/body/div/div/div/button', function(response) { + this.assert.cssClassNotPresent('/html/body', 'sidebar-minimized'); + this.assert.cssClassNotPresent('/html/body', 'brand-minimized'); + }); + + browser + .pause(3000) + .end(); } -} +};