Skip to content

Commit 754913c

Browse files
author
Jon Myrick
authored
Merge pull request CodewarsClone#43 from CodewarsClone/dataBaseEntry
Data base entry
2 parents 2e80b2e + 6abcfc7 commit 754913c

6 files changed

Lines changed: 28 additions & 7 deletions

File tree

databaseInserKataTest.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/**
2+
* Created by Joshua Baert on 12/21/2016.
3+
*/
4+
5+
const massive = require('massive');
6+
7+
const config = require('./config');
8+
9+
let db = massive.connect({
10+
connectionString: config.connectionString
11+
}, (err, db) => {
12+
db.start.kataTest([], function (err, dbRes) {
13+
if (err) {
14+
console.log(err)
15+
} else {
16+
console.log('Kata can be inserted!!')
17+
}
18+
});
19+
20+
});

db/start/kataTest.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
INSERT INTO katas (kyu, name, starter_code, description, examples, test_script)
2+
VALUES (6, 'Coding 3min : Symmetric Sort', 'function sc(a) {}', 'Please do a "Symmetric Sort" with it.', '[{"test":"Test.assertSimilar(sc([1,2,3,4,5,6,7,8,9]), [1,3,5,7,9,8,6,4,2], \"good luck!\");","result":""}]', '[{"test":" const fcode=function(str){ const isChar = function(a) { if(a){ var code = a.toLowerCase().charCodeAt(0) return code >= 97 && code <= 122; } return false; } return str.replace(/ ? | /g, '').split('').filter((a,i,x) => { return a==='' ''?isChar(x[i-1])&&isChar(x[i+1])?true:false:true; }).join(''''); } function an(array){//198 var a=array.slice(); a.sort((x,y)=>x-y) for (var i=0,left=[],right=[];i<a.length;i++){ if (i%2==0) left.push(a[i]) else right.unshift(a[i]) } return left.concat(right); } function rndc(){ return String.fromCharCode(~~(26*Math.random())+97); } function rnds(){ var len= ~~(8*Math.random())+1; for (var i=0,rs=[];i<len;i++) rs[i]=rndword(); return rs.join(\" \"); } function rndarray(){ var len= ~~(35*Math.random())+6; for (var i=0,rs=[];i<len;i++){ rs[i]= ~~(99*Math.random())+1; } return rs; } function rndsx(){ var t=~~(100*Math.random())%3; if (t==0) return rndword(~~(100*Math.random())+4); if (t==1) return rnds(~~(100*Math.random())+4) if (t==2) { var nn= ~~(100*Math.random())+4, a= rnds(nn), b=rndword(nn); for (var i=0,rs=[];i<nn;i++) { var x=~~(100*Math.random())%2; rs[i]= x==1 ? a[i] : b[i]; } return rs.join(\"\"); } } console.log(\"<br><font size=4><b>-------- Basic Test --------</b></font>\") console.log(\"\") Test.assertSimilar(sc([1,2,3,4,5,6,7,8,9]), [1,3,5,7,9,8,6,4,2], \"good luck!\"); Test.assertSimilar(sc([1,1,2,2,3,3,4,4,5]), [1,2,3,4,5,4,3,2,1], \"good luck!\"); Test.assertSimilar(sc([9,8,7,6,5,4,3,2,1]), [1,3,5,7,9,8,6,4,2], \"good luck!\"); Test.assertSimilar(sc([5,4,4,3,3,2,2,1,1]), [1,2,3,4,5,4,3,2,1], \"good luck!\"); Test.assertSimilar(sc([11,2,33,4,55,6]), [2,6,33,55,11,4], \"good luck!\"); Test.assertSimilar(sc([5,12,5,8,33,13]), [5,8,13,33,12,5], \"good luck!\"); //anti-cheat and calc the code length console.log(\"<br><font size=4><b>--------Code length check --------</b></font>\") var limit=120; const fs = require(''fs''); const allcode = fs.readFileSync(''/home/codewarrior/solution.txt'', ''utf8''); var code=fcode(allcode.replace(///.* /g,\"\")); var codelen=code.length; if (codelen<=limit) Test.assertSimilar(\"code length<=\"+limit,\"code length>\"+limit, \"your code length = \"+codelen+\", please try this code in challage version. the simple version only accept the solution which length>\"+limit); else Test.assertSimilar(\"PASS\", \"PASS\", \";-)\"); //end of anti-cheat console.log(\"<br><font size=4><b>--------100 Random Test --------</b></font>\") console.log(\"\") for (var myjinxini=0;myjinxini<100;myjinxini++){ var aa=rndarray(),answer=an(aa); console.log(\"<font color=''#CD7F32''>Test: array=[\"+aa+\"]</font>\",\"\") Test.assertSimilar(sc(aa), answer, \"good luck!\"); } console.log(''<br><font size=4><b>Congratulations, You pass the test!</b></font>'','''') console.log(\"<br><font size=4><b>After you submit your solution, <font color=''yellow''>DON''T FORGET UPVOTE&RANK THIS KATA, THANK YOU!</b></font>\",\"\") ","result":""}]')

db/start/katas.sql

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
INSERT INTO katas (kyu, name, starter_code, description, examples, test_script)
22
VALUES (8, 'Generate range of integers', 'function generateRange(min, max, step){}', 'Implement a function named generateRange(min, max, step), which takes three arguments and generates a range of integers from min to max, with the step. The first integer is the minimum value, the second is the maximum of the range and the third is the step. (min < max)', '[{"test":"Test.assertSimilar(generateRange(2, 10, 2), [2,4,6,8,10]);","result":""}]','[{"test":"Test.assertSimilar(generateRange(2, 10, 2), [2,4,6,8,10]);","result":""},{"test":"Test.assertSimilar(generateRange(1, 10, 3), [1,4,7,10]);","result":""},{"test":"var generateRandom = function(min, max){ return Math.floor(Math.random() * max) + min; }; var range = function(min, max, step){ var z = []; for(var i = min; i <= max; i += step){ z.push(i); } return z; }; for(var i = 0; i < 10; i++){ var randomMax = generateRandom(30, 100), randomMin = generateRandom(1, 20), randomStep = generateRandom(1, 10); Test.assertSimilar(generateRange(randomMin, randomMax, randomStep), range(randomMin, randomMax, randomStep)); }","result":""}]'),
33

4-
(7, 'Descending Order', 'function descendingOrder(n){}', 'Descending Order', '[{"test":"Test.assertEquals(descendingOrder(15), 51)","result":""}]', '[{"test":"Test.assertEquals(descendingOrder(0), 0)","result":""},{"test":"Test.assertEquals(descendingOrder(1), 1)","result":""},{"test":"Test.assertEquals(descendingOrder(111), 111)","result":""},{"test":"Test.assertEquals(descendingOrder(15), 51)","result":""},{"test":"Test.assertEquals(descendingOrder(1021), 2110)","result":""},{"test":"Test.assertEquals(descendingOrder(123456789), 987654321)","result":""}]'),
5-
4+
(7, 'Descending Order', 'function descendingOrder(n){}', 'Descending Order', '[{"test":"Test.assertEquals(descendingOrder(15), 51)","result":""}]', '[{"test":"Test.assertEquals(descendingOrder(0), 0)","result":""},{"test":"Test.assertEquals(descendingOrder(1), 1)","result":""},{"test":"Test.assertEquals(descendingOrder(111), 111)","result":""},{"test":"Test.assertEquals(descendingOrder(15), 51)","result":""},{"test":"Test.assertEquals(descendingOrder(1021), 2110)","result":""},{"test":"Test.assertEquals(descendingOrder(123456789), 987654321)","result":""}]')
65
;

server.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ app.get('/api/random-kata', kataCtrl.getRandomKata);
102102
app.get('/api/kata-random/:kyu', kataCtrl.getRandomKata);
103103
app.get('/api/solutions/:kataId', kataCtrl.getKataSolutions);
104104

105-
app.post('/test/suite/:kataId', testCtrl.testKata);
106-
app.post('/test/examples', testCtrl.testExamplesKata);
105+
app.post('/api/test/suite/:kataId', testCtrl.testKata);
106+
app.post('/api/test/examples', testCtrl.testExamplesKata);
107107
app.post('/api/solution/:kataId', kataCtrl.postSolution);
108108

109109

src/components/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,6 @@ $stateProvider
4444
templateUrl:'./components/training/training.html',
4545
controller: 'trainingCtrl'
4646
});
47-
47+
4848
$urlRouterProvider.otherwise('/login');
4949
});

src/components/mainService.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ this.user = {}
1010
this.testExamples = (solution, examples) => {
1111
return $http({
1212
method: 'POST',
13-
url: `http://192.168.0.186:3030/test/examples`,
13+
url: `http://192.168.0.186:3030/api/test/examples`,
1414
data: {
1515
script: solution,
1616
examples: examples
@@ -21,7 +21,7 @@ this.user = {}
2121
this.testSuite = (solution, kataid) => {
2222
return $http({
2323
method: 'POST',
24-
url: `/test/suite/${kataid}`,
24+
url: `/api/test/suite/${kataid}`,
2525
data: {
2626
script: solution
2727
}

0 commit comments

Comments
 (0)