From 8a2392e97a13fc94e3c0939c049a5b7d05f920d6 Mon Sep 17 00:00:00 2001 From: Dimitar Topuzov Date: Fri, 21 Feb 2020 22:12:07 +0200 Subject: [PATCH 1/4] chore: add tests for package-manager --- tests/cli/misc/pacakge_manager_tests.py | 51 +++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/tests/cli/misc/pacakge_manager_tests.py b/tests/cli/misc/pacakge_manager_tests.py index 75cb6ad1..57f1a287 100644 --- a/tests/cli/misc/pacakge_manager_tests.py +++ b/tests/cli/misc/pacakge_manager_tests.py @@ -2,19 +2,70 @@ Test for package-manager command """ from core.base_test.tns_test import TnsTest +from core.enums.os_type import OSType +from core.settings import Settings +from data.templates import Template from products.nativescript.tns import Tns # noinspection PyMethodMayBeStatic class PackageManagerTests(TnsTest): + app_name = Settings.AppName.DEFAULT + def setUp(self): + Tns.exec_command(command='package-manager set npm') + def test_001_package_manager_get(self): result = Tns.exec_command(command='package-manager get') assert result.exit_code == 0, 'tns package-manager get exit with non zero exit code.' assert 'npm' in result.output, 'Default package manager is not npm.' + def test_002_package_manager_set(self): + result = Tns.exec_command(command='package-manager set npm') + assert result.exit_code == 0, 'tns package-manager set exit with non zero exit code.' + assert "You've successfully set npm as your package manager" in result.output, \ + 'tns package-manager set output is not correct.' + + def test_200_package_manager_yarn(self): + result = Tns.exec_command(command='package-manager set yarn') + assert result.exit_code == 0, 'tns package-manager set exit with non zero exit code.' + assert "You've successfully set yarn as your package manager" in result.output + self.__create_and_build_app() + + def test_210_package_manager_pnpm(self): + result = Tns.exec_command(command='package-manager set pnpm') + assert result.exit_code == 0, 'tns package-manager set exit with non zero exit code.' + assert "You've successfully set pnpm as your package manager" in result.output + self.__create_and_build_app() + + def test_300_package_manager(self): + result = Tns.exec_command(command='package-manager get') + assert result.exit_code == 0, 'tns package-manager get exit with non zero exit code.' + assert 'Your current package manager is npm.' in result.output + + def test_310_package_manager_get_help(self): + result = Tns.exec_command(command='package-manager get --help') + assert result.exit_code == 0, 'tns package-manager get --help exit with non zero exit code.' + assert 'Prints the value of the current package manager' in result.output + + def test_320_package_manager_set_help(self): + result = Tns.exec_command(command='package-manager set --help') + assert result.exit_code == 0, 'tns package-manager set --help exit with non zero exit code.' + assert 'Enables the specified package manager for the NativeScript CLI' in result.output + assert 'Supported values are npm, yarn and pnpm' in result.output + def test_400_package_manager_set_wrong_value(self): result = Tns.exec_command(command='package-manager set fake') assert result.exit_code != 0, 'tns package-manager should exit with non zero exit code on fails.' assert 'fake is not a valid package manager.' in result.output, 'Wrong package manager not detected.' assert 'Supported values are: npm, pnpm, yarn.' in result.output, 'No message for supported managers.' + + def __create_and_build_app(self): + Tns.create(app_name=self.app_name, template=Template.HELLO_WORLD_JS.local_package, update=True) + Tns.platform_add_android(app_name=self.app_name, framework_path=Settings.Android.FRAMEWORK_PATH) + if Settings.HOST_OS == OSType.OSX: + Tns.platform_add_ios(app_name=self.app_name, framework_path=Settings.IOS.FRAMEWORK_PATH) + + Tns.build_android(self.app_name) + if Settings.HOST_OS != OSType.OSX: + Tns.build_ios(self.app_name) From aac467d2c093aa0fee90ad84dd577931fea3f813 Mon Sep 17 00:00:00 2001 From: Dimitar Topuzov Date: Fri, 21 Feb 2020 22:27:44 +0200 Subject: [PATCH 2/4] chore: fix linter --- tests/cli/misc/pacakge_manager_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/cli/misc/pacakge_manager_tests.py b/tests/cli/misc/pacakge_manager_tests.py index 57f1a287..5e63cba8 100644 --- a/tests/cli/misc/pacakge_manager_tests.py +++ b/tests/cli/misc/pacakge_manager_tests.py @@ -14,7 +14,7 @@ class PackageManagerTests(TnsTest): def setUp(self): Tns.exec_command(command='package-manager set npm') - + def test_001_package_manager_get(self): result = Tns.exec_command(command='package-manager get') assert result.exit_code == 0, 'tns package-manager get exit with non zero exit code.' From e27e039fef1bef7a68b2e513a894c9ae99ea46f5 Mon Sep 17 00:00:00 2001 From: Dimitar Topuzov Date: Sat, 22 Feb 2020 07:48:32 +0200 Subject: [PATCH 3/4] fix: build condition --- .../misc/{pacakge_manager_tests.py => package_manager_tests.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/cli/misc/{pacakge_manager_tests.py => package_manager_tests.py} (98%) diff --git a/tests/cli/misc/pacakge_manager_tests.py b/tests/cli/misc/package_manager_tests.py similarity index 98% rename from tests/cli/misc/pacakge_manager_tests.py rename to tests/cli/misc/package_manager_tests.py index 5e63cba8..378de41a 100644 --- a/tests/cli/misc/pacakge_manager_tests.py +++ b/tests/cli/misc/package_manager_tests.py @@ -67,5 +67,5 @@ def __create_and_build_app(self): Tns.platform_add_ios(app_name=self.app_name, framework_path=Settings.IOS.FRAMEWORK_PATH) Tns.build_android(self.app_name) - if Settings.HOST_OS != OSType.OSX: + if Settings.HOST_OS == OSType.OSX: Tns.build_ios(self.app_name) From 51f5cd57e7ebc23779c4dec96cbfb8929ef1de0c Mon Sep 17 00:00:00 2001 From: Dimitar Topuzov Date: Sat, 22 Feb 2020 08:07:48 +0200 Subject: [PATCH 4/4] chore: do not update the app Udpate app perform some npm installals that may cause incorrect testing. --- tests/cli/misc/package_manager_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/cli/misc/package_manager_tests.py b/tests/cli/misc/package_manager_tests.py index 378de41a..5d6cd1ca 100644 --- a/tests/cli/misc/package_manager_tests.py +++ b/tests/cli/misc/package_manager_tests.py @@ -61,7 +61,7 @@ def test_400_package_manager_set_wrong_value(self): assert 'Supported values are: npm, pnpm, yarn.' in result.output, 'No message for supported managers.' def __create_and_build_app(self): - Tns.create(app_name=self.app_name, template=Template.HELLO_WORLD_JS.local_package, update=True) + Tns.create(app_name=self.app_name, template=Template.HELLO_WORLD_JS.local_package, update=False) Tns.platform_add_android(app_name=self.app_name, framework_path=Settings.Android.FRAMEWORK_PATH) if Settings.HOST_OS == OSType.OSX: Tns.platform_add_ios(app_name=self.app_name, framework_path=Settings.IOS.FRAMEWORK_PATH)