Skip to content

Commit 3cc02d8

Browse files
authored
chore: add tests for package-manager (#473)
* chore: add tests for package-manager
1 parent 6cf10bd commit 3cc02d8

File tree

2 files changed

+71
-20
lines changed

2 files changed

+71
-20
lines changed

tests/cli/misc/pacakge_manager_tests.py

-20
This file was deleted.
+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
"""
2+
Test for package-manager command
3+
"""
4+
from core.base_test.tns_test import TnsTest
5+
from core.enums.os_type import OSType
6+
from core.settings import Settings
7+
from data.templates import Template
8+
from products.nativescript.tns import Tns
9+
10+
11+
# noinspection PyMethodMayBeStatic
12+
class PackageManagerTests(TnsTest):
13+
app_name = Settings.AppName.DEFAULT
14+
15+
def setUp(self):
16+
Tns.exec_command(command='package-manager set npm')
17+
18+
def test_001_package_manager_get(self):
19+
result = Tns.exec_command(command='package-manager get')
20+
assert result.exit_code == 0, 'tns package-manager get exit with non zero exit code.'
21+
assert 'npm' in result.output, 'Default package manager is not npm.'
22+
23+
def test_002_package_manager_set(self):
24+
result = Tns.exec_command(command='package-manager set npm')
25+
assert result.exit_code == 0, 'tns package-manager set exit with non zero exit code.'
26+
assert "You've successfully set npm as your package manager" in result.output, \
27+
'tns package-manager set output is not correct.'
28+
29+
def test_200_package_manager_yarn(self):
30+
result = Tns.exec_command(command='package-manager set yarn')
31+
assert result.exit_code == 0, 'tns package-manager set exit with non zero exit code.'
32+
assert "You've successfully set yarn as your package manager" in result.output
33+
self.__create_and_build_app()
34+
35+
def test_210_package_manager_pnpm(self):
36+
result = Tns.exec_command(command='package-manager set pnpm')
37+
assert result.exit_code == 0, 'tns package-manager set exit with non zero exit code.'
38+
assert "You've successfully set pnpm as your package manager" in result.output
39+
self.__create_and_build_app()
40+
41+
def test_300_package_manager(self):
42+
result = Tns.exec_command(command='package-manager get')
43+
assert result.exit_code == 0, 'tns package-manager get exit with non zero exit code.'
44+
assert 'Your current package manager is npm.' in result.output
45+
46+
def test_310_package_manager_get_help(self):
47+
result = Tns.exec_command(command='package-manager get --help')
48+
assert result.exit_code == 0, 'tns package-manager get --help exit with non zero exit code.'
49+
assert 'Prints the value of the current package manager' in result.output
50+
51+
def test_320_package_manager_set_help(self):
52+
result = Tns.exec_command(command='package-manager set --help')
53+
assert result.exit_code == 0, 'tns package-manager set --help exit with non zero exit code.'
54+
assert 'Enables the specified package manager for the NativeScript CLI' in result.output
55+
assert 'Supported values are npm, yarn and pnpm' in result.output
56+
57+
def test_400_package_manager_set_wrong_value(self):
58+
result = Tns.exec_command(command='package-manager set fake')
59+
assert result.exit_code != 0, 'tns package-manager should exit with non zero exit code on fails.'
60+
assert 'fake is not a valid package manager.' in result.output, 'Wrong package manager not detected.'
61+
assert 'Supported values are: npm, pnpm, yarn.' in result.output, 'No message for supported managers.'
62+
63+
def __create_and_build_app(self):
64+
Tns.create(app_name=self.app_name, template=Template.HELLO_WORLD_JS.local_package, update=False)
65+
Tns.platform_add_android(app_name=self.app_name, framework_path=Settings.Android.FRAMEWORK_PATH)
66+
if Settings.HOST_OS == OSType.OSX:
67+
Tns.platform_add_ios(app_name=self.app_name, framework_path=Settings.IOS.FRAMEWORK_PATH)
68+
69+
Tns.build_android(self.app_name)
70+
if Settings.HOST_OS == OSType.OSX:
71+
Tns.build_ios(self.app_name)

0 commit comments

Comments
 (0)