Jelajahi Sumber

add test for custom-tag-utils

Yuki Takei 7 tahun lalu
induk
melakukan
fddb02e131

+ 2 - 0
packages/growi-commons/.babelrc

@@ -7,6 +7,8 @@
     }]
     }]
   ],
   ],
   "plugins": [
   "plugins": [
+    // for using rewire(__get__ method) to test private function
+    "babel-plugin-rewire",
   ],
   ],
   "env": {
   "env": {
   }
   }

+ 2 - 1
packages/growi-commons/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "growi-commons",
   "name": "growi-commons",
-  "version": "4.0.0-beta4",
+  "version": "4.0.0",
   "description": "GROWI Commons Libraries",
   "description": "GROWI Commons Libraries",
   "keywords": [
   "keywords": [
     "growi"
     "growi"
@@ -28,6 +28,7 @@
   "devDependencies": {
   "devDependencies": {
     "@babel/preset-env": "^7.4.3",
     "@babel/preset-env": "^7.4.3",
     "babel-eslint": "^10.0.1",
     "babel-eslint": "^10.0.1",
+    "babel-plugin-rewire": "^1.2.0",
     "eslint": "^5.15.1",
     "eslint": "^5.15.1",
     "eslint-config-weseek": "^1.0.1",
     "eslint-config-weseek": "^1.0.1",
     "eslint-plugin-import": "^2.16.0",
     "eslint-plugin-import": "^2.16.0",

+ 28 - 0
packages/growi-commons/src/test/plugin/util/custom-tag-utils.test.js

@@ -0,0 +1,28 @@
+require('module-alias/register');
+
+const customTagUtils = require('@src/plugin/util/custom-tag-utils');
+
+describe('customTagUtils', () => {
+
+  test('exports TagContext', () => {
+    expect(customTagUtils.TagContext).not.toBeNull();
+    expect(typeof customTagUtils.TagContext).toBe('function');
+  });
+
+  test('exports ArgsParser', () => {
+    expect(customTagUtils.ArgsParser).not.toBeNull();
+    expect(typeof customTagUtils.ArgsParser).toBe('function');
+  });
+
+  test('exports OptionParser', () => {
+    expect(customTagUtils.OptionParser).not.toBeNull();
+    expect(typeof customTagUtils.OptionParser).toBe('function');
+  });
+
+  test('.createRandomStr(10) returns random string', () => {
+    // get private resource
+    const createRandomStr = customTagUtils.__get__('createRandomStr');
+    expect(createRandomStr(10)).toMatch(/^[a-z0-9]{10}$/);
+  });
+
+});

+ 5 - 0
packages/growi-commons/yarn.lock

@@ -1119,6 +1119,11 @@ babel-plugin-jest-hoist@^24.6.0:
   dependencies:
   dependencies:
     "@types/babel__traverse" "^7.0.6"
     "@types/babel__traverse" "^7.0.6"
 
 
+babel-plugin-rewire@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-rewire/-/babel-plugin-rewire-1.2.0.tgz#822562d72ed2c84e47c0f95ee232c920853e9d89"
+  integrity sha512-JBZxczHw3tScS+djy6JPLMjblchGhLI89ep15H3SyjujIzlxo5nr6Yjo7AXotdeVczeBmWs0tF8PgJWDdgzAkQ==
+
 babel-preset-jest@^24.6.0:
 babel-preset-jest@^24.6.0:
   version "24.6.0"
   version "24.6.0"
   resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984"
   resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984"