aboutsummaryrefslogtreecommitdiffstats
path: root/tests/acceptance
diff options
context:
space:
mode:
authorKlaus Weidenbach <Klaus.Weidenbach@gmx.net>2016-10-12 21:50:49 +0200
committerKlaus Weidenbach <Klaus.Weidenbach@gmx.net>2016-10-19 00:46:41 +0200
commitb92e3ca3ee3f8bed1ff52311d29b4ce1e4297a83 (patch)
treefe4d742c662b65605d0b6fee8fbf3f5a9e9b66e5 /tests/acceptance
parent2e1046220a70bb751c39854b881e86feb5d39149 (diff)
downloadvolse-hubzilla-b92e3ca3ee3f8bed1ff52311d29b4ce1e4297a83.tar.gz
volse-hubzilla-b92e3ca3ee3f8bed1ff52311d29b4ce1e4297a83.tar.bz2
volse-hubzilla-b92e3ca3ee3f8bed1ff52311d29b4ce1e4297a83.zip
[TASK] Restructure tests/ folder.
Move unit tests to tests/unit/. Get the old still working UnitTests into a working state again. Updated composer.json with required-dev packages. Create a new folder tests/acceptance for Behat functional/acceptance testing. Add a first Feature draft of a Behat functional test for local login.
Diffstat (limited to 'tests/acceptance')
-rw-r--r--tests/acceptance/behat.yml27
-rw-r--r--tests/acceptance/features/bootstrap/AdminContext.php23
-rw-r--r--tests/acceptance/features/bootstrap/ApiContext.php23
-rw-r--r--tests/acceptance/features/bootstrap/FeatureContext.php23
-rw-r--r--tests/acceptance/features/login_local.feature18
5 files changed, 114 insertions, 0 deletions
diff --git a/tests/acceptance/behat.yml b/tests/acceptance/behat.yml
new file mode 100644
index 000000000..933571e5e
--- /dev/null
+++ b/tests/acceptance/behat.yml
@@ -0,0 +1,27 @@
+default:
+ suites:
+ default:
+ paths:
+ - %paths.base%/features
+ contexts:
+ - Behat\MinkExtension\Context\MinkContext
+ admin_features:
+ filters: { role: admin }
+ contexts:
+ - AdminContext
+ api_features:
+ paths:
+ - %paths.base%/features/api
+ filters:
+ tags: "@api"
+ contexts:
+ - ApiContext
+ gherkin:
+ filters:
+ tags: ~@wip
+ extensions:
+ Behat\MinkExtension:
+ base_url: 'http://localhost'
+ sessions:
+ default:
+ goutte: ~
diff --git a/tests/acceptance/features/bootstrap/AdminContext.php b/tests/acceptance/features/bootstrap/AdminContext.php
new file mode 100644
index 000000000..aa4dced67
--- /dev/null
+++ b/tests/acceptance/features/bootstrap/AdminContext.php
@@ -0,0 +1,23 @@
+<?php
+
+use Behat\Behat\Context\Context;
+use Behat\Behat\Context\SnippetAcceptingContext;
+use Behat\Gherkin\Node\PyStringNode;
+use Behat\Gherkin\Node\TableNode;
+
+/**
+ * Defines application features from the specific context.
+ */
+class AdminContext implements Context, SnippetAcceptingContext
+{
+ /**
+ * Initializes context.
+ *
+ * Every scenario gets its own context instance.
+ * You can also pass arbitrary arguments to the
+ * context constructor through behat.yml.
+ */
+ public function __construct()
+ {
+ }
+}
diff --git a/tests/acceptance/features/bootstrap/ApiContext.php b/tests/acceptance/features/bootstrap/ApiContext.php
new file mode 100644
index 000000000..9b772b209
--- /dev/null
+++ b/tests/acceptance/features/bootstrap/ApiContext.php
@@ -0,0 +1,23 @@
+<?php
+
+use Behat\Behat\Context\Context;
+use Behat\Behat\Context\SnippetAcceptingContext;
+use Behat\Gherkin\Node\PyStringNode;
+use Behat\Gherkin\Node\TableNode;
+
+/**
+ * Defines application features from the specific context.
+ */
+class ApiContext implements Context, SnippetAcceptingContext
+{
+ /**
+ * Initializes context.
+ *
+ * Every scenario gets its own context instance.
+ * You can also pass arbitrary arguments to the
+ * context constructor through behat.yml.
+ */
+ public function __construct()
+ {
+ }
+}
diff --git a/tests/acceptance/features/bootstrap/FeatureContext.php b/tests/acceptance/features/bootstrap/FeatureContext.php
new file mode 100644
index 000000000..2ec02da85
--- /dev/null
+++ b/tests/acceptance/features/bootstrap/FeatureContext.php
@@ -0,0 +1,23 @@
+<?php
+
+use Behat\Behat\Context\Context;
+use Behat\Behat\Context\SnippetAcceptingContext;
+use Behat\Gherkin\Node\PyStringNode;
+use Behat\Gherkin\Node\TableNode;
+
+/**
+ * Defines application features from the specific context.
+ */
+class FeatureContext implements Context, SnippetAcceptingContext
+{
+ /**
+ * Initializes context.
+ *
+ * Every scenario gets its own context instance.
+ * You can also pass arbitrary arguments to the
+ * context constructor through behat.yml.
+ */
+ public function __construct()
+ {
+ }
+}
diff --git a/tests/acceptance/features/login_local.feature b/tests/acceptance/features/login_local.feature
new file mode 100644
index 000000000..a7814b8f6
--- /dev/null
+++ b/tests/acceptance/features/login_local.feature
@@ -0,0 +1,18 @@
+Feature: Local login
+ In order to login locally
+ As a member
+ I need to successfully authenticate
+
+ Scenario: Provide wrong credentials
+ Given I am on "/login"
+ When I fill in "id_username" with "foo"
+ And I fill in "id_password" with "bar"
+ And I press "submit"
+ Then I should be on "/login"
+
+ Scenario: Provide correct credentials
+ Given I am on "/login"
+ When I fill in "id_username" with "behat"
+ And I fill in "id_password" with "behat"
+ And I press "submit"
+ Then I should be on "/apps"