This is an automated email from the ASF dual-hosted git repository.

poorejc pushed a commit to branch FLAGON-344
in repository https://gitbox.apache.org/repos/asf/incubator-flagon.git


The following commit(s) were added to refs/heads/FLAGON-344 by this push:
     new 6a86685  [FLAGON-380] Updated Build and Test page to reflect current 
documentation. Also updated troubleshooting with minor edits
6a86685 is described below

commit 6a86685748649aaf86dc60c1b1efeabdeba97abe
Author: poorejc <[email protected]>
AuthorDate: Sat Apr 20 00:01:42 2019 -0400

    [FLAGON-380] Updated Build and Test page to reflect current documentation. 
Also updated troubleshooting with minor edits
---
 site/_docs/useralejs/testing.md         | 118 ++++++++++++++++++++++++++++----
 site/_docs/useralejs/troubleshooting.md |   3 +-
 2 files changed, 107 insertions(+), 14 deletions(-)

diff --git a/site/_docs/useralejs/testing.md b/site/_docs/useralejs/testing.md
index 63dc734..2a66a75 100644
--- a/site/_docs/useralejs/testing.md
+++ b/site/_docs/useralejs/testing.md
@@ -1,26 +1,118 @@
 ---
 title: Build and Test
 component: useralejs
+permalink: /docs/useralejs/build
 priority: 11
 ---
 
 ### Building UserALE.js
 
-To modify and build your own version of ``UserALE.js``, first clone the repo, 
install all dependencies, and make any desired changes. Then build and minify 
into the build/ folder:
+To build [Apache 
UserALE.js](https://github.com/apache/incubator-flagon-useralejs/tree/master), 
you will need to clone our repo and install [NPM and 
Node.js](https://nodejs.org/).
 
-  ```shell
-  git clone https://github.com/apache/incubator-senssoft-useralejs.git
-  npm install
-  npm run build
-  ```
+UserALE.js utilizes NPM for package and dependency management. Execute the 
following to install dependencies.
+```
+#install required packages
+npm install
 
-### Testing and Linting
+#review major dependencies
+npm ls --depth=0
+```
 
-We maintain code quality through linting and our test suite.  To run, or run 
and watch for changes:
+## Build
 
-  ```shell
-  npm test
-  npm run example:watch
-  ```
+UserALE.js uses Gulp to manage build tasking. These tasks are executed through 
our build script; use the following to execute:
 
-See ``package.json`` for full script options.
+```
+#Build UserALE.js
+npm run build
+```
+
+## Test
+
+UserALE.js uses JSDOM and Mocha to execute unit tests, which are integrated 
into our build pipeline. See ``package.json`` for full script options. 
+
+To run tests:
+```
+#Run UserALE.js unit tests
+npm run test
+```
+... you'll see something like:
+```
+...
+    attachHandlers
+    ✓ attaches all the event handlers without duplicates
+    ✓ debounces bufferedEvents (505ms)
+    defineDetails
+      - configures high detail events correctly
+
+  configure
+    ✓ merges new configs into main config object
+    ✓ includes a userid if present in the window.location
+    getUserIdFromParams
+      ✓ fetches userId from URL params
+      ✓ returns null if no matching param
+
+  getInitialSettings
+    timeStampScale
+      ✓ no event.timestamp
+      ✓ zero
+      ✓ epoch milliseconds
+      ✓ epoch microseconds
+      ✓ performance navigation time
+    getInitialSettings
+      ✓ fetches all settings from a script tag (122ms)
+      ✓ grabs user id from params
+
+  Userale API
+    ✓ provides configs
+    ✓ edits configs
+    ✓ starts + stops (214ms)
+    ✓ sends custom logs
+
+  packageLogs
+    setLogFilter
+      ✓ assigns the handler to the provided value
+      ✓ allows the handler to be nulled
+    setLogMapper
+      ✓ assigns the handler to the provided value
+      ✓ allows the handler to be nulled
+    packageLog
+      ✓ only executes if on
+      ✓ calls detailFcn with the event as an argument if provided
+      ✓ packages logs
+      ✓ filters logs when a handler is assigned and returns false
+      ✓ assigns logs to the mapper's return value if a handler is assigned
+      ✓ does not call the map handler if the log is filtered out
+      ✓ does not attempt to call a non-function filter/mapper
+    extractTimeFields
+      ✓ returns the millisecond and microsecond portions of a timestamp
+      ✓ sets micro to 0 when no decimal is present
+      ✓ always returns an object
+    getLocation
+      ✓ returns event page location
+      ✓ calculates page location if unavailable
+      ✓ fails to null
+    selectorizePath
+      ✓ returns a new array of the same length provided
+    getSelector
+      ✓ builds a selector
+      ✓ identifies window
+      ✓ handles a non-null unknown value
+    buildPath
+      ✓ builds a path
+      ✓ defaults to path if available
+
+  sendLogs
+    ✓ sends logs on an interval
+    ✓ does not send logs if the config is off
+    ✓ sends logs on page exit with navigator
+    ✓ sends logs on page exit without navigator
+    ✓ does not send logs on page exit if config is off
+
+
+  45 passing (954ms)
+  1 pending
+```
+Any failing tests will also be logged in the terminal. If there are failing 
tests, please consider [logging an issue in 
JIRA](https://issues.apache.org/jira/projects/FLAGON).
+
+Further instructions can be found in our 
[README](https://github.com/apache/incubator-flagon-useralejs/blob/master/README.md)
diff --git a/site/_docs/useralejs/troubleshooting.md 
b/site/_docs/useralejs/troubleshooting.md
index 6177658..6343457 100644
--- a/site/_docs/useralejs/troubleshooting.md
+++ b/site/_docs/useralejs/troubleshooting.md
@@ -1,10 +1,11 @@
 ---
 title: Troubleshooting
 component: useralejs
+permalink: /docs/useralejs/troubleshooting
 ---
 
 ### Enable Cross-Origin Resource Sharing (CORS)
 
-The logs generated by UserALE is sent to a logging server which is configured 
in the script tag. Your client may send out failure logs because of a CORS 
(cross-origin resource sharing) issue. You will need to configure your backend 
server to enable CORS.
+The logs generated by [Apache 
UserALE.js](https://github.com/apache/incubator-flagon-useralejs) are sent to a 
logging server which is configured in the script tag. Your client may send out 
failure logs because of a CORS (cross-origin resource sharing) issue. You will 
need to configure your backend server to enable CORS.
 
 For more information and examples on how to enable CORS on your server, please 
visit [enable-cors.org](http://enable-cors.org/index.html).

Reply via email to