Developing
When developing or testing an extension using the SDK it may be useful to connect it to your local Nosto environment or the staging environment instead of the live one. This can be done by modifying a "Dot Env" (.env) file in the Nosto SDK that the extension uses. For example for Magento extension, copy MAGENTO/lib/nosto/php-sdk/.env.example
to MAGENTO/lib/nosto/php-sdk/.env
and modify the parameters.
NOSTO_SERVER_URL
is the Nosto url used in the store frontNOSTO_API_BASE_URL
is the base url for all API calls to NostoNOSTO_OAUTH_BASE_URL
is the base url for connecting Nosto accounts through OAuthNOSTO_WEB_HOOK_BASE_URL
is the base url for Nosto web hooksNOSTO_IFRAME_ORIGIN_REGEXP
is a regexp for validating window.postMessage() event origin dispatched by the account configuration iframe
The sample .env
file can viewed here
Note that you can only have one .env file at a time, and if you wish to switch between environments you can copy them into .env.[environment]
files. This way you can switch the environment by replacing the .env with the correct .env.[environment] file.
Coding Standards
The extension follows a customised version the PSR-2 coding standards that come bundled with PHP Code Sniffer. A custom ruleset is bundles with the code. The following warnings are suppressed:
Warnings about missing namespaces
Install Codesniffer
First cd
into the root directory.
Then install Codesniffer via composer:
Running Codesniffer
You can run Code Sniffer using
Testing
The SDK is unit tested with Codeception (http://codeception.com/). API and OAuth2 requests are tested using api-mock server (https://www.npmjs.com/package/api-mock) running on Node.
Install Codeception & API-mock
First cd into the root directory.
Then install Codeception via composer:
And then install Node (http://nodejs.org/) and the npm package manager (https://www.npmjs.com/). Node 0.12 is required by api-mock so you might need to install nvm (http://nvm.sh) and set node version to 0.12 (nvm install 0.12
) before running api-mock . After that you can install the api-mock server via npm:
Running tests
First cd into the root directory.
Then start the api-mock server with the API blueprint:
When running the tests for the first time you must generate the helper classes by running:
Then in another window run the tests:
Last updated