diff --git a/test/data/sandbox/codecept.bdd.de.js b/test/data/sandbox/i18n/codecept.bdd.de.js similarity index 83% rename from test/data/sandbox/codecept.bdd.de.js rename to test/data/sandbox/i18n/codecept.bdd.de.js index bdae8b3f2..8f97575a9 100644 --- a/test/data/sandbox/codecept.bdd.de.js +++ b/test/data/sandbox/i18n/codecept.bdd.de.js @@ -1,10 +1,10 @@ exports.config = { tests: './*_no_test.js', timeout: 10000, - output: './output', + output: '../output', helpers: { BDD: { - require: './support/bdd_helper.js', + require: '../support/bdd_helper.js', }, }, gherkin: { diff --git a/test/data/sandbox/features/examples.de.feature b/test/data/sandbox/i18n/features/examples.de.feature similarity index 97% rename from test/data/sandbox/features/examples.de.feature rename to test/data/sandbox/i18n/features/examples.de.feature index b1f13cd4f..745bf0cb2 100644 --- a/test/data/sandbox/features/examples.de.feature +++ b/test/data/sandbox/i18n/features/examples.de.feature @@ -4,7 +4,7 @@ Funktionalität: Checkout-Prozess Als Kunde Möchte ich in der Lage sein, mehrere Produkte zu kaufen - @i18n @fail + @i18n Szenariogrundriss: Bestellrabatt Angenommen ich habe ein Produkt mit einem Preis von $ in meinem Warenkorb Und der Rabatt für Bestellungen über $20 beträgt 10 % diff --git a/test/data/sandbox/i18n/features/step_definitions/my_steps.de.js b/test/data/sandbox/i18n/features/step_definitions/my_steps.de.js new file mode 100644 index 000000000..0fdc12f1c --- /dev/null +++ b/test/data/sandbox/i18n/features/step_definitions/my_steps.de.js @@ -0,0 +1,17 @@ +const I = actor(); + +Given('ich habe ein Produkt mit einem Preis von {int}$ in meinem Warenkorb', (price) => { + I.addItem(parseInt(price, 10)); +}); + +Given('der Rabatt für Bestellungen über $\{int} beträgt {int} %', (maxPrice, discount) => { // eslint-disable-line + I.haveDiscountForPrice(maxPrice, discount); +}); + +When('ich zur Kasse gehe', () => { + I.checkout(); +}); + +Then('sollte ich den Gesamtpreis von "{float}" $ sehen', (price) => { + I.seeSum(price); +}); diff --git a/test/runner/bdd_test.js b/test/runner/bdd_test.js index cd010b766..b56c3d462 100644 --- a/test/runner/bdd_test.js +++ b/test/runner/bdd_test.js @@ -307,6 +307,12 @@ When(/^I define a step with a \\( paren and a "(.*?)" string$/, () => { }); describe('i18n', () => { + const codecept_dir = path.join(__dirname, '/../data/sandbox/i18n'); + const config_run_config = config => `${codecept_run} --config ${codecept_dir}/${config}`; + + before(() => { + process.chdir(codecept_dir); + }); it('should run feature files in DE', (done) => { exec(config_run_config('codecept.bdd.de.js') + ' --steps --grep "@i18n"', (err, stdout, stderr) => { //eslint-disable-line stdout.should.include('On Angenommen: ich habe ein produkt mit einem preis von 10$ in meinem warenkorb');