Update README.md, .travis.yml & behat.yml.dist files

This commit is contained in:
Joseph Bielawski 2014-05-13 17:13:34 +02:00
parent 05e7e626a3
commit d2c327ee0f
4 changed files with 356 additions and 202 deletions

View file

@ -5,9 +5,6 @@ php:
- 5.4
- 5.5
branches:
only:
- master
services: mongodb
@ -20,48 +17,52 @@ before_script:
- ulimit -n 10000
- sudo apt-get update
- sudo apt-get install -y --force-yes apache2 libapache2-mod-php5 php5-curl wkhtmltopdf
- sudo apt-get install -y --force-yes apache2 libapache2-mod-php5 php5-curl
- sudo sed -i -e "s,/var/www,$(pwd)/web,g" /etc/apache2/sites-available/default
- export MINK_EXTENSION_PARAMS='base_url=http://localhost:8000/app_test.php'
- sudo /etc/init.d/apache2 restart
- composer self-update
- composer require doctrine/mongodb-odm="1.0.*@dev" --no-update
- composer require jmikola/geojson="~1.0" --no-update
- composer install --prefer-source --no-interaction
- wget http://getcomposer.org/composer.phar
- php -d memory_limit=2048M composer.phar update doctrine/mongodb-odm
- app/console doctrine:database:create --env=test > /dev/null
- app/console doctrine:schema:create --env=test > /dev/null
- app/console doctrine:phpcr:repository:init --env=test > /dev/null
- app/console cache:warmup --env=test > /dev/null
- sh -e /etc/init.d/xvfb start
- export DISPLAY=:99
- wget http://selenium-release.storage.googleapis.com/2.41/selenium-server-standalone-2.41.0.jar
- java -jar selenium-server-standalone-2.41.0.jar > /dev/null &
- sleep 5
# - sh -e /etc/init.d/xvfb start
# - export DISPLAY=:99
# - wget http://selenium-release.storage.googleapis.com/2.41/selenium-server-standalone-2.41.0.jar
# - java -jar selenium-server-standalone-2.41.0.jar > /dev/null &
# - sleep 5
script:
- bin/phpspec run -f dot
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@account && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@addressing && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@cart && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@checkout && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@currencies && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@dashboard && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@homepage && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@inventory && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@localization && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@orders && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@payments && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@pricing && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@promotions && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@settings && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@shipping && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@taxation && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@taxonomies && ~@javascript'
- php -d memory_limit=2048M bin/behat --stop-on-failure --tags '@users && ~@javascript,@oauth'
- php -d memory_limit=4096M bin/behat --stop-on-failure --tags '@products && ~@javascript'
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=account
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=addressing
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=cart
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=checkout
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=currencies
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=dashboard
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=homepage
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=inventory
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=localization
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=oauth
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=orders
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=payments
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=pricing
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=products
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=promotions
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=settings
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=shipping
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=taxation
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=taxonomies
- php -d memory_limit=4096M bin/behat --stop-on-failure --suite=users
notifications:
email: "travis-ci@sylius.org"

View file

@ -24,11 +24,10 @@ $ cd sylius
$ php app/console sylius:install
```
To be able to use included fixtures, that make testing and development phases much easier, you may need
to run Composer tool with `--dev` option:
To be able to use included fixtures, that make testing and development phases much easier:
```bash
$ php composer.phar install --dev
$ php composer.phar install
$ php app/console doctrine:database:create
$ php app/console doctrine:schema:create
$ php app/console doctrine:phpcr:repository:init
@ -38,27 +37,27 @@ $ php app/console doctrine:phpcr:repository:init
-----------------------------------
You need to copy Behat default configuration file and enter your specific ``base_url``
option there.
option there:
```bash
$ cp behat.yml.dist behat.yml
$ vi behat.yml
```
Then download [Selenium Server](http://seleniumhq.org/download/), and run it.
Then download [Selenium Server](http://seleniumhq.org/download/), and run it:
```bash
$ java -jar selenium-server-standalone-2.39.0.jar
$ java -jar selenium-server-standalone-2.41.0.jar
```
Then setup your test database
Then setup your test database:
```bash
$ php app/console doctrine:database:create --env=test
$ php app/console doctrine:schema:create --env=test
```
You can run Behat using the following command.
You can run Behat using the following command:
```bash
$ bin/behat
@ -67,7 +66,7 @@ $ bin/behat
Troubleshooting
---------------
If something goes wrong, errors & exceptions are logged at the application level.
If something goes wrong, errors & exceptions are logged at the application level:
```bash
$ tail -f app/logs/prod.log

View file

@ -3,18 +3,267 @@
default:
formatters:
pretty: false
progress: ~
pretty:
verbose: true
paths: false
snippets: false
suites:
default:
account:
paths: [ %paths.base%/features ]
contexts:
- Sylius\Bundle\WebBundle\Behat\FeatureContext
- Sylius\Bundle\WebBundle\Behat\WebUser
- Sylius\Bundle\WebBundle\Behat\OAuthContext
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\ShippingBundle\Behat\ShippingContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@account && ~@javascript,~@invoice"
addressing:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@addressing && ~@javascript"
cart:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@cart && ~@javascript"
checkout:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\PaymentBundle\Behat\PaymentContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@checkout && ~@javascript"
currencies:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\MoneyBundle\Behat\MoneyContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@currencies && ~@javascript"
dashboard:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@dashboard && ~@javascript"
homepage:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@homepage && ~@javascript"
inventory:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@inventory && ~@javascript"
localization:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@localization && ~@javascript"
oauth:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\OAuthContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: @oauth
orders:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@orders && ~@javascript"
payments:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\PaymentBundle\Behat\PaymentContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@payments && ~@javascript"
pricing:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\MoneyBundle\Behat\MoneyContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@pricing && ~@javascript"
products:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\MoneyBundle\Behat\MoneyContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@products && ~@javascript"
promotions:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\PromotionBundle\Behat\PromotionContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@promotions && ~@javascript"
settings:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@settings && ~@javascript"
shipping:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\ShippingBundle\Behat\ShippingContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@shipping && ~@javascript"
taxation:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@taxation && ~@javascript"
taxonomies:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ResourceBundle\Behat\BaseContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@taxonomies && ~@javascript"
users:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@users && ~@javascript"
javascript:
paths: [ %paths.base%/features ]
contexts:
- Behat\MinkExtension\Context\MinkContext
- Sylius\Bundle\AddressingBundle\Behat\AddressingContext
- Sylius\Bundle\CoreBundle\Behat\CoreContext
- Sylius\Bundle\MoneyBundle\Behat\MoneyContext
- Sylius\Bundle\PaymentBundle\Behat\PaymentContext
- Sylius\Bundle\ProductBundle\Behat\ProductContext
- Sylius\Bundle\PromotionBundle\Behat\PromotionContext
- Sylius\Bundle\ShippingBundle\Behat\ShippingContext
- Sylius\Bundle\TaxonomyBundle\Behat\TaxonomyContext
- Sylius\Bundle\TaxationBundle\Behat\TaxationContext
- Sylius\Bundle\WebBundle\Behat\WebContext
filters:
tags: "@javascript"
extensions:
Behat\MinkExtension\Extension:
Behat\MinkExtension:
sessions:
default:
symfony2: ~
@ -22,100 +271,4 @@ default:
selenium2: ~
browser_name: firefox
show_auto: false
Behat\Symfony2Extension\Extension:
mink_driver: true
account:
gherkin:
filters:
tags: "@account && ~@javascript"
addressing:
gherkin:
filters:
tags: "@addressing && ~@javascript"
cart:
gherkin:
filters:
tags: "@cart && ~@javascript"
checkout:
gherkin:
filters:
tags: "@checkout && ~@javascript"
currencies:
gherkin:
filters:
tags: "@currencies && ~@javascript"
dashboard:
gherkin:
filters:
tags: "@dashboard && ~@javascript"
homepage:
gherkin:
filters:
tags: "@homepage && ~@javascript"
inventory:
gherkin:
filters:
tags: "@inventory && ~@javascript"
orders:
gherkin:
filters:
tags: "@orders && ~@javascript"
payments:
gherkin:
filters:
tags: "@payments && ~@javascript"
products:
gherkin:
filters:
tags: "@products && ~@javascript"
promotions:
gherkin:
filters:
tags: "@promotions && ~@javascript"
settings:
gherkin:
filters:
tags: "@settings && ~@javascript"
shipping:
gherkin:
filters:
tags: "@shipping && ~@javascript"
taxation:
gherkin:
filters:
tags: "@taxation && ~@javascript"
taxonomies:
gherkin:
filters:
tags: "@taxonomies && ~@javascript"
localization:
gherkin:
filters:
tags: "@localization && ~@javascript"
users:
gherkin:
filters:
tags: "@users && ~@javascript"
only-javascript:
gherkin:
filters:
tags: "@javascript"
Behat\Symfony2Extension: ~

View file

@ -129,6 +129,7 @@ Feature: User account orders page
Given I am on my account orders page
Then I should not see an "#order-000000007-invoice" element
@invoice
Scenario: Generating an invoice for an order that has been sent
Given I go to the order invoice page for 000000001
Then the response status code should be 200