diff --git a/ayanova/devdocs/test protocol.txt b/ayanova/devdocs/test protocol.txt index 2ebd3f96..69d0e4c2 100644 --- a/ayanova/devdocs/test protocol.txt +++ b/ayanova/devdocs/test protocol.txt @@ -1,20 +1,62 @@ +Test protocol for latest build: + +#### Check these items and only note where they are still a problem under each browser #### + +- does it update automatically +- No localization bugs +- Login not autocapitalize +- failed login UI? +- Clear buttons show on pw and login +- Widget form + - Localization showing properly on form + - Numeric inputs show numeric keyboard on mobile + - Calendar selects date and time or is that still fucky on some platforms? + - Rights work properly + - Test as manager + - Test widget form under full, edit own and readonly and no rights, confirm it works + - Roles: Change = AuthorizationRoles.BizAdminFull | AuthorizationRoles.InventoryFull, EditOwn = AuthorizationRoles.TechFull, ReadFullRecord = AuthorizationRoles.BizAdminLimited | AuthorizationRoles.InventoryLimited + - 401 redirect to login + - 403 should redirect to prior form (no rights SubContractorLimited) + - Menu options work: + - Update and save + - Delete + - Prompt works + - Navigation guard works + - Broken rules work +- Navigate via menu then press back goes back to last form properly? + - About then back to form or main inventory home etc +- App name is AyaNova when "installed" as PWA and not "ayanova" + + + +- Menu + - surfaces properly given size changes + - enabled works + - displays properly under edit form or general app contexts + - Help works + - About works + + + + + +****************************** F I N D I N G S ******************************************* + iPad =-=- Safari - - login page username auto capitalizes first letter how to stop that - - login, enter key should trigger login + Chrome - done + Firefox - - calendar selection again wouldn't take until I selected a time then the calendar would work, weird - - About page is showing unlocalized text like Edge did, need to check that code + Opera Mini - - All works ok, calendar selection a little finicky and overly precise but works + @@ -22,26 +64,20 @@ Opera Mini LENOVO ANDROID TABLET =-=-=-=-=-=-=-=-=-=-=- Chrome - - Everything seems to work properly + + +FireFox + -FireFox version 66 (old version 56 didn't work with time picker) -- very slow, but not unusably so -- Everything works PIXEL PHONE =-=-=-=-=-=- -Chrome 73.0.3683.90 - - Would not update to latest version, showing old cached version instead, on other browsers I could just refresh but here it wouldn't no matter what - - Weird, I logged in, went to inventory it was outdated but when I hit refresh on that page it suddenly updated everything - - Did though, offer immediately to put it on the desktop as an app link +Chrome Firefox - - App updated immediately didn't even need to refresh I think - - similar to iPad, widget list open button very cut off in portrait, ends at price and only shows 3 fields - - Widget edit form layout is all good except for buttons group which is not centered and save button which in portrait is sitting right on the far right edge of the screen. Usable but not centered as a group. - - Can slightly "wiggle" page side to side by dragging, it's as if it's not 100% page width or something + @@ -49,12 +85,10 @@ Firefox W10 PC =-=-=-=- Chrome browser - - all ok + Firefox browser - - all ok + MS EDGE browser - - all ok, quite snappy actually except that on the about page it initially loaded not localized but a refresh localized it. Had just logged in. Didn't see this on other platforms but will re-check - - + diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index c3b75417..1ccce536 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -2,76 +2,9 @@ NEXT UP: Build, deploy and test all this block with all devices / browsers, see the test protocol.txt file for how to -All platforms and browsers - - IN PROGRESS: Initially outdated, had to force a refresh to make it load the latest version - - STATUS: I'm going to do another update and see if it's handled properly - - I thought they would update automatically via the loader code?!? - - - - DONE: Login user name field auto capitalizes first character on phones, need that to not do it - - DONE: Login, doesn't have any ui if failed login, maybe a red frowny face icon? :) - - DONE: need clear buttons on pw and login - - DONE: Numeric input fields don't give numeric keyboard - - DONE: MENU STUFF - - DONE Global Help link on *every* page - - will change on each page - - DONE Global Logout link on every page - - Unchanging - - Probably more global page items - - DONE Menu supports dividers - - DONE Menu has a context section and a global section - - One set of menu items only not two separate ones internally - - Context items are at the top, then a divider, then the global ones at the bottom - - DONE Caller sets if it's contextual or not to adapt colour of app bar, but otherwise it's the same exact menu all the time - - DONE Caller should be able to set items colour so (for example) Save can be redded out when not savable - - DONE Caller should be able to set the ENABLED property so it can handle different states - - DONE: Maybe a change item event that takes a key and updates it rather than refreshing the whole menu basis on state change? - - I.E. so that can change save button enabled and colour when state of form broken rules changes? - - DONE Surface property that will force an item to be surfaced to the left of the menu in the app-bar - - Keep the original in the menu though for people that are used to it? - - DONE reorganize SAVE, DELETE ETC, put a divider between main form actions and then all the myriad of secondary things - - DONE LOCALIZE check all new menu items, some might be not localized (look for ALL CAPS) - - DONE WIRE UP logout link to go to login form and logout properly - - DONE JUST CHANGED the keys to a new system and dropping data property, right in the middle of it actually but it needs to be changed back partially see below - - DONE First of all, put gzmenu on to the vue object in main so can use it for little utilities like click handling, generating unique nav keys etc - - DONE Reason was to ensure key uniqueness (two nav items with same key are erroring) - - DONE HOWEVER as I'm thinking about it now, do we really want all that url stuff being in the key? - - DONE Instead, change back to using data but add a third parameter to make sure that keys are unique somehow - - DONE That way we can put anything into the data key again because in future might need whole objects etc (almost certainly will) - - DONE Move ABOUT item to just above HELP in menu and remove from main NAV and make it navigate properly on click - - DONE Make about contextual and insert a menu item to view log - - DONE WIRE up save menu item and add code to disable save on broken rules (and make red, disabled etc) - - DONE Move wire up event code from app.vue to gzmenu and call it from app.vue - - - DONE RIGHTS in form state so can easily enable / disable etc - - DONE INFO - SERVER will return on request of an object one of these: - - DONE Not authenticated at all 401 - - DONE Redirect to login - - DONE Not authorized for this object 403 (could be due to not own or whatever, we don't care, server handles that shit, client just knows not to show it) - - DONE Object...BUT with READONLY flag of some kind present (in outer wrapper??), so client knows to show read only and not allow editing - - DONE And client doesn't need to work out self owned etc - - DONE Object without readonly flag present so fully editable!!! WOOT! - - DONE If no rights then should redirect back to HOME, NOT LOGIN!!! - - DONE user with no rights = SubContractorLimited - - DONE BIG TODO: it would be far nicer if rights to objects were stored in a single JSON fragment that could be easily copied into javascript and c# - - DONE code automatically builds rights collection from json fragment so can use it between both projects and more easily update it in one central spot - - DONE Get that working then come back to the rest of the rights in client side - - DONE ALREADY Need to create sample users in server project that have all the different widget right combinations for testing purposes - - DONE HOME not localized issue, on login, sometimes the home page is not showing as localized! Some kind of timing issue or wrong event used to localize it or something. ?? - - DONE I see that HOME->BeforeCreate breakpoint is hit **BEFORE** the locale text has been fetched. - - DONE was not calling promises correctly and not chaining them properly. Fixed - - DONE Wire up delete menu item - - DONE api code is stubbed out for delete, need to write that as well - - DONE Need prompt, are you sure?? - - DONE TODO navigating through menu doesn't "back" properly when clicking back on browser controls - - DONE widget form now not localized title at menu top - - DONE Edit form title, does the edit form need a title so users know where they are at? - - DONE currently widget edit doesn't have a particular look or title so if you are at the top of it on a small device you can't see the url fully or really know which page it is - - DONE A small title top left that stands out might be approprpiate, also a icon beside it? - - DONE: Application name is all lowercase "ayanova" when installed to device, must be something in the manifest files? - - DONE: Check about page localization code, is it firing in the right place because on Edge and iPad firefox it didn't show localized at first until a refresh so it fetched the keys but didn't display properly - - TO TEST: Calendar on iPad in two occasions with ff and opera the calendar date could not be selected until a time was changed then the date worked. Before that it would always stay the same no matter what selection was made and the UI would not show a change on select or press of date either. - - DONE Navigation guard: navigate away with unsaved changes should warn and prevent but have option to continue anyway - - DONE Logout needs the same request +TODO: + - Delete works but triggers navigation guard when it attempts to navigate away after deletion automatically + ### RETEST ALL DEVICES WHEN GET TO HERE #####