# DeviceOn/BI Portal RD Test scenario 2021/07~2021/09 --- ###### tags: `DeviceOnBI` ## 2021/09/03 ### Tingwei #### Merge 1.02 to develop **Purpose** 1. Merge 1.02 to develop **Test** 1. test `npm run dev` - [x] Login -> upload image ## 2021/09/03 ### Tingwei #### [Change] Notification message duration, etc **Purpose** 1. [Change] Notification message duration 2. [Change][SSO] Error message shows in card. **Test** 1. test notication - [x] Success - [x] Warning - [x] Error 1. sso error message - [x] invlaid account - [x] invalid password - [x] lock - [x] network disconnect ## 2021/08/31 ### Tingwei #### [Change]Image Compress, etc. **Purpose** 1. [Change]Image Compress. 2. [Change]Integrate profile and menu. Move Profile Upload Image API function and Profile Delete Image API function to objectProfile.vue. 3. [Change]Correct Upload Image Dialog lang from its all parent components 4. [Change][Profile]Comment Unused group profile & parameter profile code 5. [Change]Delete unused code from nodepageBI.vue. 6. [Change]Delete unused `#uploadImage` CSS from formulaCheck.vue. 7. [Change]Delete unused "import imageForDropDown.vue" from group.vue 8. [Change]Comment unused "import editUser.vue" in pageUser.vue 9. [Fix]Change fit of User image to "cover" in user list of pageUser.vue 10. [Change]Delete unused "import uploadImage2.vue" from userInfoPage.vue 11. merge develop to this branch **Test** 1. uploadImage component - [x] image size > 5MB - [x] If origin svg base64 string length < png base64 string length, use svg - [x] If origin svg base64 string length > png base64 string length, use png 2. profile - [x] Long side 640 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Create profile -> upload image -> save - [x] -> Edit a profile -> change image -> save - [x] -> Edit a profile which contains an image -> change image -> cancel -> re-edit the profile -> check image - [x] -> Edit a profile -> delete image -> save - [x] -> Edit a profile whichs owner is another person, and it contains an image -> Save As Profile -> chech image - [x] -> Edit the saved as profile -> change image -> check whether the image is changed and the image of the original profile is not changed - [x] -> Edit the saved as profile -> delete image -> check whether the image is deleted and the image of the original profile is not deleted 3. menu dialog - [x] Long side 200 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting 4. group dialog - [x] Long side 640 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting 5. object dialog - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting 6. My Account page - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the default lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting - [x] Image covers the image div area 7. Device SCADA/EdgeLink dialog - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting 8. Device ADAM/TPC/WISE/UNO dialog - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting 9. Page User -> create user dialog - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Image covers the image div area 10. User Management -> Edit user dialog - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting - [x] Image covers the image div area 11. Advanced Setting -> Edit SPM dialog - [x] Long side 268 - [x] Lang of Upload Image Dialog is the same as the tab lang - [x] Save with image uploading - [x] Save with image changing - [x] Save with image deleting - [x] Image covers the image div area 12. Below unused files change uploadImage2.vue to new uploadImage.vue without any testing - createUser_new.vue - editUser_new.vue - uploadJSONfileDash.vue - commonNewDevice.vue ## 2021/08/25 ### Alice #### feature/forwarding-page-fix **Purpose** 1. [pageForwarding][fix] fix Rows Per Page 1 after switch one of tabs rule is null **Test** 1. test for pageForwarding - [x] add 11 rule in forwarding -> change tab to Authentication List(0) -> chenage tab to Forwarding Rule List -> check Forwarding Rule List is 10 - [x] add 11 rule in authentication -> change tab to Forwarding Rule List(0) -> chenage tab to Authentication List -> check Authentication List is 10 ### Tingwei #### [Change] Notification message UI, etc. **Purpose** 1. [Change] Notification message UI and trigger by util.notify method ( If you want to parse response Error Object and notify error, use this ) & util.renderNotify method ( If you prepare a message and want to notify it, use this ) 2. [Change] Overwrite `this.$notify` & `this.$message`. 3. [Change] Change GET /auth/system error level and GET /langresc error level to fatalError 4. [Change] Make sure success message of adding a device in mobile version is not changing UI 5. [Change][SRPDashboard] Grid overflowing notifies warning message 6. [Change][SRPDashboard] Change Time interval options labels. "Second" to "Row Data". "Minute" to "Recording Rate". 7. [Fix][SRPDashboard] Canceling a request causes an error when source_GET_FLAT_MACHINE_DATA is null because we had the object List cache from page Object. **Test** 1. test 1,2,3,5 by `npm run fake-dev-server` - [x] util.notify type error - disconnect network - [x] util.notify type fatalError - localhost:8080/#/login?testGetError=500 - [x] util.notify type success - page Plugin -> refresh plugin status - [x] util.notify type warning - page SRP-Dashboard grid overflow warning - [x] this.$notify type error - in Console input ```javascript= window.document.getElementById('app').__vue__.$notify({ type: 'error', message: '錯誤:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify` type success - in Console input ```javascript= window.document.getElementById('app').__vue__.$notify({ type: 'success', message: '成功:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify` type warning - ```javascript= window.document.getElementById('app').__vue__.$notify({ type: 'warning', message: '警告:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify` type info (show warning UI) - ```javascript= window.document.getElementById('app').__vue__.$notify({ type: 'info', message: '訊息:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify.error` - ```javascript= window.document.getElementById('app').__vue__.$notify.error({ message: '錯誤:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify.success` - ```javascript= window.document.getElementById('app').__vue__.$notify.success({ message: '成功:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify.warning` - ```javascript= window.document.getElementById('app').__vue__.$notify.warning({ message: '警告:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$notify.info` (show warning UI)- ```javascript= window.document.getElementById('app').__vue__.$notify.info({ message: '訊息:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message` type error - ```javascript= window.document.getElementById('app').__vue__.$message({ type: 'error', message: '錯誤:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message` type success - ```javascript= window.document.getElementById('app').__vue__.$message({ type: 'success', message: '成功:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message` type warning - ```javascript= window.document.getElementById('app').__vue__.$message({ type: 'warning', message: '警告:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message` type info (show warning UI) - ```javascript= window.document.getElementById('app').__vue__.$message({ type: 'info', message: '訊息:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message.error` - ```javascript= window.document.getElementById('app').__vue__.$message.error({ message: '錯誤:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message.success` - ```javascript= window.document.getElementById('app').__vue__.$message.success({ message: '成功:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message.warning` - ```javascript= window.document.getElementById('app').__vue__.$message.warning({ message: '警告:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` - [x] `this.$message.info` (show warning UI) - ```javascript= window.document.getElementById('app').__vue__.$message.info({ message: '資訊:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` 2. test 4, mobile notification message, set IPhoneX in devtool -> refresh page -> - [x] test mobile adding device success message, add a device by manual - [x] test mobile error ```javascript= window.document.getElementById('app').__vue__.$message({ type: 'error', message: '錯誤:悬浮出现在页面角落,显示全局的通知提醒消息。', }); ``` 3. test 6 in SRP-Dashboard - [x] graph -> exit x axis -> check options 4. test 7 - [x] page Object -> page SRP-Dashboard -> change org -> check Console ## 2021/08/24 ### Alice #### feature/i18n-save-bug **Purpose** 1. [SPDashboard][change] save i18n & load i18n fix 2. [SRPDashboard][change] change function exports **Test** 1. test for trace SRPDashboard - [x] add a blank -> save - [x] add from template -> save - [x] preview template dashboard (just created) -> save -> edit with BI - SRPDashboard - [x] add a blank -> add multistat/singlestat panel -> select target -> save -> preview - [x] edit dashboard in grafana (just created) -> change language -> change panel size and title -> save - [x] back to the BI edit with SRPDashboard -> check panel position -> change panel position and title -> save - [x] preview in grafana -> check title is consistent with editor -> change language -> check panel size is consistent with the en-US ## 2021/08/23 ### Alice #### feature/load-i18n-fix **Purpose** 1. [SRPDashboard] i18n load fix **Test** 1. test - [x] change prod.env testAPIForLocal path to e100-ensaas ->  edit dashboard -> check panel display normal ## 2021/08/23 ### Tingwei #### [Change] High Level Error Confirm Dialog UI. Use it in "**Failed to load the page**" **Purpose** 1. [Change] High Level Error Confirm Dialog UI. Use it in "**Failed to load the page**" 2. [Change] Upgrade confirmPromiseDialog.vue. **Test** 1. test - [x] `npm run prod-test` in portal_mplus -> `npm run dev` in portal_mplus_release -> rename dist/static/js/chunk.modelGuide.xxx.js -> login in browser -> check error dialog UI - [x] -> click OK -> check whether the Page refreshes. ## 2021/08/18 ### Alice #### feature/i18n-bug-fix **Purpose** 1. [SRPDashboard][fix] add detect if i18n exist **Test** 1. test for SRPDashboard - [x] add a blank dashboard -> save ### Tingwei #### [Change] Optimize editing an SRP-Dashboard by fetching all objects when setPageData() in case "pageDashboard" condition. When a user edits an SRP-Dashboard, the function will check whether the loading data status is loading, finish or fail, etc. **Purpose** 1. Refer to the title 2. [Change][SRPDashboard] Cancel api/machine/hierarchy/{orgId} request when beforeDestroy call resetAllState(). **Test** 1. test purpose 1 open devtool -> choose network - [x] go to SRPDashboard -> machine/hierachy/{orgId} is loading -> edit an SRPDashboard -> the loading hides after machine/hierachy/{orgId} closed - [x] cancel the SRPdashboard -> change org -> check whether make a machine/hierachy/{orgId} request - [x] when machine/hierachy/{orgId} finish -> edit another SRPdashboard -> check whether machine/hierachy/{orgId} is not sending again - [x] -> edit a item -> select parameter -> check whether object list is correct 2. test purpose 2 open devtool -> choose network - [x] go to SRPDashboard -> machine/hierachy/{orgId} is loading -> change org -> old machine/hierachy/{orgId} close and new machine/hierachy/{orgId} start ## 2021/08/11 ### Tingwei #### [Add] QR Code in "group dialog /inspection" **Purpose** 1. [Add] QR Code in "group dialog /inspection", portal_mplu (feature/group-inspection-qrcode) **Test** 1. `npm run prod-test` in portal_mplu (feature/group-inspection-qrcode) & `npm run dev` in portal_mplus_release (feature/group-inspection-qrcode) - [x] Scan to login App - [x] app store qrcode - [x] google play qrcode - [x] download android qrcode - [x] 鑫寶能 download android 只透過修改本地變數workspace測試 2. deploy to develop - [x] deploy to develop ->check whether a key "inspectionApkUrl" in auth/system API response - [x] scan download android qrcode - [x] edit a object -> save - [x] create a object -> save - [x] delete a object ## 2021/08/10 ### Alice #### feature/i18n-re-assign-value **Purpose** 1. [SRPDashboard][add] add i18n reassign when load 2. [SRPDashboard][add] save reassign 3. [SRPDashboard][fix] the label of the chart type panel is not assigned 4. [SRPDashboard][add] multi lang fit **Test** 1. test for add blank & edit dashboard - [x] preview dashboard -> change panel setting -> save -> edit in SRPDasnboard -> check title,decimals, unit,etc. is correct - [x] edit a existing dashboard -> change title, decimals, unit,etc. -> save -> preview dashboard -> check the item changed correctly - [x] edit existing dashboard -> change panel size -> save -> preview dashboard -> change the language -> check the panel size changes synchronously - [x] change the different language panel setting -> save -> edit the dashboard at SRPDashboard editor -> save -> check the panel setting is synchronous in different language 1. test for single panel - [x] Water Pump Status(芳芳) - [x] Water Flow In-Out(芳芳) - [x] Progress Bar(芳芳) - [x] Water Achieving Rate(芳芳) - [x] Log Chart(芳芳) - [x] Graph(芳芳) - [x] Donut Chart - [x] Pie Chart - [x] Grouped Bar Chart - [x] SaaS Composer Viewer - [x] PictureIt - [x] multistat - [x] singlestat (gauge) - [x] singlestat (Text) - [x] infographic - [x] water statistic - [x] monitor - [x] ene dashboard switch ## 2021/07/27 ### Alice #### feature/mobile-add-device-mixin **Purpose** 1. [mobileAddDevice][change] discardHandler mixins 2. [mobileAddDevice][change] add mobile dialog size **Test** 1. test for mobile add device - [x] QRcode name change -> cancel - [x] QRcode desc change -> cancel - [x] QRcode model type change -> cancel - [x] QRcode MAC address change -> cancel - [x] manual -> name change -> cancel - [x] manual -> model name -> cancel - [x] manual -> model category -> cancel - [x] manual -> model type -> cancel - [x] manual -> mac address -> cancel - [x] change browser mode and size -> check the dialog size in mobile mode - [x] change url -> enter -> cancel ## 2021/07/22 ### Alice #### feature/binding-obj-rule-list-fix **Purpose** 1. [bindingList][change] use {type} and {deleteName} replace fixed translation 2. [responseMsgDialog][fix] fix error when this.res.status is undefined 3. [forwardingDialog][fix] 400001 isDuplicateName error style **Test** 1. test for bindingList(device & forwardingRule) - [x] delete the rule that was binding auth -> check different lang's {delete} and {type} was replaced 2. test for forwardingDialog - [x] add a rule that name was exist -> check {type} was replaced and name column was changed as error style ## 2021/07/20 ### Alice #### feature/select-default-and-download **Purpose** 1. [Center Portal][add][Back-end] file download 2. [Center Portal][change][Front-end] add default select **Test** 1. test for Center Portal - [x] input /download/[fileNmae] -> download the file - [x] open the login page -> check domain is the first (no remember login info) ## 2021/07/16 ### Alice #### [Inspection][change] Service Disabled title **Purpose** 1. [Inspection][change] Service Disabled title **Test** 1. test for Inspection page - [x] edit org -> change to Inspection tab -> status DISABLE -> close -> check page tips ## 2021/07/14 ### Alice #### feature/inspection-add-tip **Purpose** 1. [Inspection][change] add inspection.enable 2. [Inspection][change] tip fix, node group no show **Test** 1. test for Inspection page - [x] edit org -> change to Inspection tab -> status ENABLE -> close -> check page (Tip: try again later & Reload button or full load the Inspection page) - [x] edit org -> change to Inspection tab -> status DISABLE -> close -> check page (Tip: check the “Inspection” configuration) #### feature/forwarding-show-dialog **Purpose** 1. [pageForwarding][change] click name show edit dialog **Test** 1. test for forwarding - [x] click rule name -> show edit dialog ## 2021/07/13 ### Alice #### [datatable][change] update label-border-sample **Purpose** 1. [datatable][change] update label-border-sample **Test** 1. test for datatable panel item - [x] focus title - [x] click thresholds color #### feature/forwarding-bug-fix **Purpose** 1. [forwardingDialog] [fix] get & assign method when edit 2. [forwardingDialog] [fix] test status icon fix 3. [forwarding][change] ignoring case **Test** 1. test for forwarding - [x] save rule(Method is PUT OR PATCH) -> edit API rule -> check Method - [x] fake res.status(success/failed) -> TEST -> check icon correct - [x] fake res.status(Success/SucceSS...) -> check it ignoring upper & lower case ## 2021/07/12 ### Alice #### feature/datatable-to-object-monitoring **Purpose** 1. [SRPDashboard] mocks data update 2. [SRPDashboard][change] datatable json fix 3. [datatable][add] label border simple 4. [datatable][add] is type index of '-reset' & patten is 'action' **Test** 1. test for SRPDashboard datatable - [x] add Object Monitor -> edit each item -> check simple & focus picture tip - [x] add Object Monitor(Reset) -> edit each item -> check simple & focus picture tip - [x] save -> view in grafana - [x] edit -> change name & threshold color -> save -> view in grafana - [x] duplicate in grafana -> edit -> check panel type correct ## 2021/07/09 ### Tingwei #### [Fix][jsonEditor] jsonEditor mistakenly validates null valid. **Test** 1. test - [x] forwarding -> create Bearer Auth -> input "null" in body -> blur -> invalid - [x] forwarding -> create Bearer Auth -> input "1" in body -> blur -> invalid - [x] forwarding -> create Bearer Auth -> input "a" in body -> blur -> invalid - [x] forwarding -> create Bearer Auth -> input `{}` in body -> blur -> valid - [x] forwarding -> create API forwarding -> input "null" in body -> blur -> invalid - [x] forwarding -> create API forwarding -> input "1" in body -> blur -> invalid - [x] forwarding -> create API forwarding -> input "a" in body -> blur -> invalid - [x] forwarding -> create API forwarding -> input `{"<a>" : <b>}` in body -> blur -> valid ## 2021/07/08 ### Tingwei #### [Fix][jsonEditor] jsonEditor validates number valid. **Purpose** 1. [Fix][jsonEditor] jsonEditor validates number valid. **Test** 1. test - [x] forwarding -> create Bearer Auth -> input "1" in body -> blur -> invalid - [x] forwarding -> create Bearer Auth -> input "a" in body -> blur -> invalid - [x] forwarding -> create Bearer Auth -> input `{}` in body -> blur -> valid - [x] forwarding -> create API forwarding -> input "1" in body -> blur -> invalid - [x] forwarding -> create API forwarding -> input "a" in body -> blur -> invalid - [x] forwarding -> create API forwarding -> input `{"<a>" : <b>}` in body -> blur -> valid ## 2021/07/06 ### Alice #### feature/fix-auth-list-select-change **Purpose** 1. [forwardingDialog][fix] fix auth list cannot be selected **Test** 1. test for forwarding dialog - [x] select auth -> check auth change -> cancel -> check dialog ## 2021/07/02 ### Alice #### feature/forwarding-mixin **Purpose** 1. [forwardingDialog][add] $emit event when change 2. [forwardingDialog][add] add mixin dialog cancel tips 3. [forwardingDialog][fix] fix data load when edit & data combine when save error, fix validate error when rule save type is SQL **Test** 1. test for forwarding dialog - common test - [x] add rule -> edit basicInformation -> click cancel -> show dialog - [x] edit datasource type -> click cancel -> show dialog - [x] change datasource tag -> click cancel -> show dialog - [x] change time format -> click cancel -> show dialog - test for edit API rule type - [x] select -> method -> click cancel -> show dialog - test for edit API & MQTT rule type - [x] edit API Url/Topic input -> click cancel -> show dialog - [x] edit API Body/Payload -> click cancel -> show dialog - test for edit SQL rule type - [x] edit SQL Command -> click cancel -> show dialog 2. test for forwarding dialog (bug fix) - [x] edit rule that no datasource -> save (fix data load when edit & data combine when save error) - [x] add SQL type rule -> save (fix validate error)