react-native-contrib/rsx-common

View on GitHub
tests/validate.spec.js

Summary

Maintainability
A
3 hrs
Test Coverage
'use strict';

let chai = require('chai');
let path = require('path');

let expect = chai.expect;

let validateUtils = require('../src/validate');

describe('validate', () => {

    describe('#inProject', () => {

        it('should return true if current working directory is a valid React Native project', () => {
            process.env.RN_PROJECT_ROOT = process.cwd();
            expect(validateUtils.inProject()).to.deep.equals(true);
        });

        it('should return false for anything else', () => {
            process.env.RN_PROJECT_ROOT = path.join(process.cwd(), '..');
            expect(validateUtils.inProject()).to.deep.equals(false);
        });

    });

    describe('#isPackageName', () => {

        it('should return true for a valid package name', () => {
            expect(validateUtils.isPackageName('com.rsx.app')).to.deep.equals(true);
        });

        it('should return false for an invalid package name');
    });

    describe('#isPlugin', () => {

        it('should return true for a valid React Native plugin', () => {
            expect(validateUtils.isPlugin('react-native-test')).to.deep.equals(true);
        });

        it('should return false for anything else', () => {
            expect(validateUtils.isPlugin('rxs-plugin-test')).to.deep.equals(false);
        });

    });

    describe('#isProject', () => {

        it('should return true for a valid React Native project', () => {
            process.env.RN_PROJECT_ROOT = path.join(__dirname, 'fixtures', 'react-native-project');
            expect(validateUtils.isProject()).to.deep.equals(true);
        });

        it('should return false for a Node project', () => {
            process.env.RN_PROJECT_ROOT = path.join(__dirname, 'fixtures', 'node-project');
            expect(validateUtils.isProject()).to.deep.equals(false);
        });

        it('should return false for anything else', () => {
            process.env.RN_PROJECT_ROOT = path.join(__dirname);
            expect(validateUtils.isProject()).to.deep.equals(false);
        });

    });

});