不要怂,就是干,撸起袖子干!

Commit b1b9a661 by Sascha Depold

removed bats

1 parent 693b0a37
[submodule "test/binary/bats"]
path = test/binary/bats
url = https://github.com/sstephenson/bats.git
Subproject commit bc72b8587183be3f973292d6bf547adf864e7f9b
#!/usr/bin/env test/binary/bats/bin/bats
@test "no arguments prints usage instructions" {
run bin/sequelize
[ $status -eq 0 ]
[ $(expr "${lines[0]}" : "No action specified. Try \"sequelize --help\" for usage information.") -ne 0 ]
}
@test "--help prints the help" {
run bin/sequelize --help
[ $status -eq 0 ]
[ "${lines[0]}" = " Usage: sequelize [options]" ]
}
@test "-h prints the help" {
run bin/sequelize -h
[ $status -eq 0 ]
[ "${lines[0]}" = " Usage: sequelize [options]" ]
}
@test "--version prints the current version" {
run bin/sequelize --version
[ $status -eq 0 ]
[ "${lines[0]}" = `cat package.json|grep version|cut -f2 -d:|cut -f2 -d\"` ]
}
@test "-V prints the current version" {
run bin/sequelize -V
[ $status -eq 0 ]
[ "${lines[0]}" = `cat package.json|grep version|cut -f2 -d:|cut -f2 -d\"` ]
}
@test "--init creates a config folder" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize --init
run ls -ila
[ $status -eq 0 ]
[ $(echo "${output}" | grep -b -o "config"|cut -d: -f1) -gt 0 ]
cd ../../..
}
@test "--init creates a migrations folder" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize --init
run ls -ila
[ $status -eq 0 ]
[ $(echo "${output}" | grep -b -o "migrations"|cut -d: -f1) -gt 0 ]
cd ../../..
}
@test "--init creates a config.json file" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize --init
run ls -ila config
[ $status -eq 0 ]
[ $(echo "${output}" | grep -b -o "config.json"|cut -d: -f1) -gt 0 ]
cd ../../..
}
@test "--init does not overwrite an existing config.json file" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize --init
echo "foo" > config/config.json
run ../../../bin/sequelize --init
[ $status -eq 1 ]
run cat config/config.json
[ $status -eq 0 ]
[ "${lines[0]}" = "foo" ]
cd ../../..
}
@test "--init does overwrite an existing config.json file if --force is added" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize --init
echo "foo" > config/config.json
run ../../../bin/sequelize --init -f
[ $status -eq 0 ]
run cat config/config.json
[ $status -eq 0 ]
[ "${lines[0]}" != "foo" ]
cd ../../..
}
@test "-i creates a config folder" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
run ls -ila
[ $status -eq 0 ]
[ $(echo "${output}" | grep -b -o "config"|cut -d: -f1) -gt 0 ]
cd ../../..
}
@test "-i creates a migrations folder" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
run ls -ila
[ $status -eq 0 ]
[ $(echo "${output}" | grep -b -o "migrations"|cut -d: -f1) -gt 0 ]
cd ../../..
}
@test "-i creates a config.json file" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
run ls -ila config
[ $status -eq 0 ]
[ $(echo "${output}" | grep -b -o "config.json"|cut -d: -f1) -gt 0 ]
cd ../../..
}
@test "-i does not overwrite an existing config.json file" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
echo "foo" > config/config.json
run ../../../bin/sequelize -i
[ $status -eq 1 ]
run cat config/config.json
[ $status -eq 0 ]
[ "${lines[0]}" = "foo" ]
cd ../../..
}
@test "-i does overwrite an existing config.json file if --force is added" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
echo "foo" > config/config.json
run ../../../bin/sequelize -i -f
[ $status -eq 0 ]
run cat config/config.json
[ $status -eq 0 ]
[ "${lines[0]}" != "foo" ]
cd ../../..
}
# @test "--env switches the environment" {
# run bin/sequelize --env production
# [ $status -eq 0 ]
# echo "${output}"
# [ $(expr "${lines[0]}" : "Using environment 'production'.") -ne 0 ]
# }
# @test "-e switches the environment" {
# run bin/sequelize -e production
# [ $status -eq 0 ]
# [ $(expr "${lines[0]}" : "Using environment 'production'.") -ne 0 ]
# }
@test "--create-migration creates a new file with the current timestamp" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
../../../bin/sequelize --create-migration "foo"
needle=`node -e "var d=new Date(); var f=function(i){ return (parseInt(i, 10) < 10 ? '0' + i : i) }; console.log([d.getFullYear(), f(d.getMonth() + 1), f(d.getDate()), f(d.getHours()), f(d.getMinutes()), f(d.getSeconds())].join(''))"`
run ls -1 migrations
[ $status -eq 0 ]
[ $(expr "${lines[0]}" : "${needle}-foo.js") -ne 0 ]
cd ../../..
}
@test "--create-migration adds a skeleton with an up and a down method" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
../../../bin/sequelize --create-migration "foo"
run cat migrations/*-foo.js
[ $status -eq 0 ]
[ $(expr "${lines[1]}" : " up: function(migration, DataTypes, done) {") -ne 0 ]
[ $(expr "${lines[5]}" : " down: function(migration, DataTypes, done) {") -ne 0 ]
cd ../../..
}
@test "--create-migration calls the done callback" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
../../../bin/sequelize --create-migration "foo"
run cat migrations/*-foo.js
[ $status -eq 0 ]
[ $(expr "${lines[3]}" : " done()") -ne 0 ]
[ $(expr "${lines[7]}" : " done()") -ne 0 ]
cd ../../..
}
@test "-c creates a new file with the current timestamp" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
../../../bin/sequelize -c "foo"
needle=`node -e "var d=new Date(); var f=function(i){ return (parseInt(i, 10) < 10 ? '0' + i : i) }; console.log([d.getFullYear(), f(d.getMonth() + 1), f(d.getDate()), f(d.getHours()), f(d.getMinutes()), f(d.getSeconds())].join(''))"`
run ls -1 migrations
[ $status -eq 0 ]
[ $(expr "${lines[0]}" : "${needle}-foo.js") -ne 0 ]
cd ../../..
}
@test "-c adds a skeleton with an up and a down method" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
../../../bin/sequelize -c "foo"
run cat migrations/*-foo.js
[ $status -eq 0 ]
[ $(expr "${lines[1]}" : " up: function(migration, DataTypes, done) {") -ne 0 ]
[ $(expr "${lines[5]}" : " down: function(migration, DataTypes, done) {") -ne 0 ]
cd ../../..
}
@test "-c calls the done callback" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
../../../bin/sequelize -c "foo"
run cat migrations/*-foo.js
[ $status -eq 0 ]
[ $(expr "${lines[3]}" : " done()") -ne 0 ]
[ $(expr "${lines[7]}" : " done()") -ne 0 ]
cd ../../..
}
@test "--migrate creates a SequelizeMeta table" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
cp ../../assets/migrations/*-createPerson.js ./migrations/
cat ../../support.js|sed s,/../,/../../../, > ./support.js
# adjust the config.json
node -e "var ld = require('lodash');var c = require('../../config/config.js'); console.log(JSON.stringify(ld.extend(c, c[process.env.DIALECT || 'mysql'])))" > config/config.json
# drop all the tables
sequelize="global.beforeEach = function(){}; var Support = require('./support'); var sequelize = Support.createSequelizeInstance({ dialect: Support.getTestDialect() });"
node -e "$sequelize Support.clearDatabase(sequelize, function() {});"
../../../bin/sequelize --migrate
run node -e "$sequelize sequelize.getQueryInterface().showAllTables().success(function(tables){ tables.sort().forEach(function(table){ console.log(table) }) })"
[ $status -eq 0 ]
[ "${lines[1]}" = "SequelizeMeta" ]
}
@test "--migrate executes the createPerson migration and creates the respective table" {
cd test/binary/tmp
rm -rf ./*
../../../bin/sequelize -i
cp ../../assets/migrations/*-createPerson.js ./migrations/
cat ../../support.js|sed s,/../,/../../../, > ./support.js
# adjust the config.json
node -e "var ld = require('lodash');var c = require('../../config/config.js'); console.log(JSON.stringify(ld.extend(c, c[process.env.DIALECT || 'mysql'])))" > config/config.json
# drop all the tables
sequelize="global.beforeEach = function(){}; var Support = require('./support'); var sequelize = Support.createSequelizeInstance({ dialect: Support.getTestDialect() });"
node -e "$sequelize Support.clearDatabase(sequelize, function() {});"
../../../bin/sequelize --migrate
run node -e "$sequelize sequelize.getQueryInterface().showAllTables().success(function(tables){ tables.sort().forEach(function(table){ console.log(table) }) })"
[ $status -eq 0 ]
[ "${lines[0]}" = "Person" ]
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!