From 2c652f9d90e62a40f580895389cb65ad9c0750b2 Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Thu, 17 Nov 2022 01:26:02 +0300 Subject: [PATCH] Make sure error messages are passed --- specs/utils_spec.lua | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/specs/utils_spec.lua b/specs/utils_spec.lua index b2a7962..c3ac1f2 100644 --- a/specs/utils_spec.lua +++ b/specs/utils_spec.lua @@ -1,7 +1,7 @@ local utils = require("neotest-pest.utils") describe("get_test_results", function() - local output_file = "/tmp/nvimhYaIPj/3" + local output_file = "/tmp/nvomhYaIPj/3" it("parses output with whole file", function() local xml_output = { @@ -127,37 +127,37 @@ describe("get_test_results", function() local expected = { ["/Users/michaelutz/Code/neotest-pest/tests/Examples/some/deep/nesting/NestingTest.php::is true"] = { output_file = output_file, - short = "TESTS.EXAMPLES.SOME.DEEP.NESTING.NESTINGTEST\n-> PASSED - is true", + short = "PASSED | is true", status = "passed" }, ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::addFavoriteMovie"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - addFavoriteMovie", + short = "PASSED | addFavoriteMovie", status = "passed" }, ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::can tellAge"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - can tellAge", + short = "PASSED | can tellAge", status = "passed" }, ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::class constructor"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - class constructor", + short = "PASSED | class constructor", status = "passed" }, ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::removeFavoriteMovie"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - removeFavoriteMovie", + short = "PASSED | removeFavoriteMovie", status = "passed" }, ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::tellName"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - tellName", + short = "PASSED | tellName", status = "passed" }, ["/Users/michaelutz/Code/neotest-pest/tests/Unit/ExampleTest.php::example"] = { output_file = output_file, - short = "TESTS.UNIT.EXAMPLETEST\n-> PASSED - example", + short = "PASSED | example", status = "passed" } } @@ -209,7 +209,7 @@ describe("get_test_results", function() local expected = { ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::addFavoriteMovie"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - addFavoriteMovie", + short = "PASSED | addFavoriteMovie", status = "passed" } } @@ -252,7 +252,7 @@ describe("get_test_results", function() name = "is false", time = "0.004215" }, - failure = { "/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::it is false\nFailed asserting that true is false.\n\n/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php:35\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Expectation.php:316\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/Reflection.php:38\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/HigherOrderMessage.php:96\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/HigherOrderMessageCollection.php:43\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Factories/TestCaseFactory.php:148\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:302\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/ExceptionTrace.php:29\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:303\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:279\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Console/Command.php:119\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:62\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:63", + failure = { "/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::it is false\nFailed asserting that true is false.\n\n/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php:39\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Expectation.php:316\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/Reflection.php:38\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/HigherOrderMessage.php:96\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/HigherOrderMessageCollection.php:43\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Factories/TestCaseFactory.php:148\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:302\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/ExceptionTrace.php:29\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:303\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:279\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Console/Command.php:119\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:62\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:63", _attr = { type = "PHPUnit\\Framework\\ExpectationFailedException" } @@ -263,15 +263,22 @@ describe("get_test_results", function() } } + local message = "/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::it is false\nFailed asserting that true is false.\n\n/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php:39\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Expectation.php:316\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/Reflection.php:38\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/HigherOrderMessage.php:96\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/HigherOrderMessageCollection.php:43\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Factories/TestCaseFactory.php:148\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:302\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/ExceptionTrace.php:29\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:303\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:279\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Console/Command.php:119\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:62\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:63" + local expected = { ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::is false"] = { - errors = { {} }, + errors = { { message = message } }, output_file = output_file, - status = "failed" + status = "failed", + short = "FAILED | is false\n\n" .. message } } - assert.are.same(utils.get_test_results(xml_output, output_file), expected) + local results = utils.get_test_results(xml_output, output_file) + local key = "/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::is false" + + assert.are.same(results[key].errors[1].message, expected[key].errors[1].message) + assert.are.same(results, expected) end) it('parses output with errors', function() @@ -320,11 +327,15 @@ describe("get_test_results", function() } } + local message = "/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::tellName\nException: Oops!\n\n/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php:24\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Factories/TestCaseFactory.php:151\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:302\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Support/ExceptionTrace.php:29\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:303\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Concerns/Testable.php:279\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/src/Console/Command.php:119\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:62\n/Users/michaelutz/Code/neotest-pest/vendor/pestphp/pest/bin/pest:63" + local expected = { ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::tellName"] = { - errors = { {} }, + errors = { { message = message } }, output_file = output_file, - status = "failed" + status = "failed", + short = "ERROR | tellName\n\n" .. message + } } @@ -376,7 +387,7 @@ describe("get_test_results", function() local expected = { ["/Users/michaelutz/Code/neotest-pest/tests/Feature/UserTest.php::tellName"] = { output_file = output_file, - short = "TESTS.FEATURE.USERTEST\n-> PASSED - tellName", + short = "PASSED | tellName", status = "passed" } } @@ -384,3 +395,4 @@ describe("get_test_results", function() assert.are.same(utils.get_test_results(xml_output, output_file), expected) end) end) +-- vim: fdm=indent fdl=1