Skip to content

Commit 1b3314f

Browse files
author
Joshua Baert
committed
Fixed training.html and worked on adding a few tables to database
1 parent fa20a31 commit 1b3314f

5 files changed

Lines changed: 117 additions & 98 deletions

File tree

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ config.js
44
test.js
55
dist/
66
.DS_Store/
7-
src/dist/
7+
src/dist/
8+
helpful.js
9+
jsTests/

controllers/testCtrl.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,18 @@ module.exports = {
3333
if (err) {
3434
console.log(err);
3535
} else if (stdOut) {
36-
deffered.resolve(stdOut);
36+
console.log(stdOut.search(/passed/gi));
37+
if (stdOut.search(/passed/gi) > 0) {
38+
ele.passed = true
39+
} else {
40+
ele.passed = false;
41+
}
3742
ele.result = stdOut;
43+
deffered.resolve(stdOut);
3844
} else if (stdErr) {
39-
deffered.resolve(stdErr);
45+
console.log(stdErr);
4046
ele.result = stdErr;
47+
deffered.resolve(stdErr);
4148
}
4249
});
4350

@@ -66,11 +73,18 @@ module.exports = {
6673
if (err) {
6774
console.log(err);
6875
} else if (stdOut) {
69-
deffered.resolve(stdOut);
76+
console.log(stdOut.search(/passed/gi));
77+
if (stdOut.search(/passed/gi) > 0) {
78+
ele.passed = true
79+
} else {
80+
ele.passed = false;
81+
}
7082
ele.result = stdOut;
83+
deffered.resolve(stdOut);
7184
} else if (stdErr) {
72-
deffered.resolve(stdErr);
85+
console.log(stdErr);
7386
ele.result = stdErr;
87+
deffered.resolve(stdErr);
7488
}
7589
});
7690

db/start/katas.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
INSERT INTO katas (kyu, name, starter_code, description, examples, test_script)
2-
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":""}]'),
1+
INSERT INTO katas (kyu, name, tags, languages, starter_code, description, examples, test_script)
2+
VALUES (8, 'Generate range of integers', null, null, '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":""}]'),
4+
(7, 'Descending Order', null, null, '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":""}]'),
55

6-
(7, 'Disemvowel Trolls', 'function disemvowel(str) {}', 'Your task is to write a function that takes a string and return a new string with all vowels removed.', '[{"test":"Test.assertEquals(disemvowel(''This website is for losers LOL!''), ''Ths wbst s fr lsrs LL!'');","result":""}]', '[{"test":"Test.assertEquals(disemvowel(''This website is for losers LOL!''), ''Ths wbst s fr lsrs LL!'') Test.assertEquals(disemvowel(''No offense but,Your writing is among the worst I''ve ever read''), ''N ffns bt,Yr wrtng s mng th wrst ''v vr rd'') Test.assertEquals(disemvowel(''What are you, a communist?''), ''Wht r y, cmmnst?'')","result":""}]')
6+
(7, 'Disemvowel Trolls', null, null, 'function disemvowel(str) {}', 'Your task is to write a function that takes a string and return a new string with all vowels removed.', '[{"test":"Test.assertEquals(disemvowel(''This website is for losers LOL!''), ''Ths wbst s fr lsrs LL!'');","result":""}]', '[{"test":"Test.assertEquals(disemvowel(''This website is for losers LOL!''), ''Ths wbst s fr lsrs LL!'') Test.assertEquals(disemvowel(''No offense but,Your writing is among the worst I''ve ever read''), ''N ffns bt,Yr wrtng s mng th wrst ''v vr rd'') Test.assertEquals(disemvowel(''What are you, a communist?''), ''Wht r y, cmmnst?'')","result":""}]')
77
;

db/start/tables.sql

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ CREATE TABLE users (
66
name varchar(80),
77
email varchar(255),
88
username varchar (40),
9-
picture_url text
10-
9+
picture_url text,
10+
points integer
1111
);
1212

1313
CREATE TABLE katas (
@@ -17,7 +17,9 @@ CREATE TABLE katas (
1717
description text,
1818
starter_code text not null,
1919
name varchar(255),
20-
examples json
20+
examples json,
21+
tags json,
22+
languages json
2123
);
2224

2325
CREATE TABLE solutions (
@@ -35,11 +37,11 @@ CREATE TABLE ratings (
3537
liked boolean not null
3638
);
3739

38-
INSERT INTO users (github_id, name, email, username, picture_url)
39-
VALUES ('12', 'Bob Smith', 'bob@smith.com', 'bobIScool', null);
40+
INSERT INTO users (github_id, name, email, username, picture_url, points)
41+
VALUES ('12', 'Bob Smith', 'bob@smith.com', 'bobIScool', null, 25);
4042

41-
INSERT INTO katas (kyu, description, starter_code, name, examples, test_script)
42-
VALUES (8, 'var a should equal 1', 'var a = 1', 'Sumbit This', '[{"test":"Test.assertEquals(a, 1)","result":""}]', '[{"test":"Test.assertEquals(a, 0)","result":""},{"test":"Test.assertEquals(a, 2)","result":""},{"test":"Test.assertEquals(a, 1)","result":""}]');
43+
INSERT INTO katas (kyu, description, starter_code, name, tags, languages, examples, test_script)
44+
VALUES (8, 'var a should equal 1', 'var a = 1', 'Sumbit This','["Fake"]', '["Javascript"]', '[{"test":"Test.assertEquals(a, 1)","result":""}]', '[{"test":"Test.assertEquals(a, 0)","result":""},{"test":"Test.assertEquals(a, 2)","result":""},{"test":"Test.assertEquals(a, 1)","result":""}]');
4345

4446
INSERT INTO solutions (user_id, kata_id, script)
4547
VALUES (1, 1, 'var a = 1'),
Lines changed: 83 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,85 @@
11
<section class="training-main">
2-
<div class="training-body">
3-
<div class="training-top" ng-style='allGone'>
4-
<div class="kata-name-container">
5-
<div class="kata-name-container-top">
6-
<img src="./assets/imgs/5_kyu_icon.png" alt="Difficulty" id="difficulty-icon">
7-
<h3 class="font16-reg" id="kata-name">
8-
Name of Kata
9-
</h3>
10-
</div>
11-
<div class="kata-stats">
12-
<p>Here's where stats go</p>
13-
<p>Here's where stats go</p>
14-
<p>Here's where stats go</p>
15-
</div>
16-
</div>
17-
<!--End kata-name-container div-->
18-
<div class="selection-div">
19-
<select class="language-select-dropdown select-dropdown" ng-init="selectedLanguage = languages[0]" ng-model="selectedLanguage"
20-
ng-options="x for x in languages">
21-
22-
</select>
23-
<select class="language-version-select-dropdown select-dropdown" ng-init="selectedVersion = versions[0]" ng-model="selectedVersion"
24-
ng-options="x for x in versions">
25-
26-
</select>
27-
</div>
28-
<div class="assorted-options">
29-
<div class="view-options">Here's where view options go</div>
30-
<div class="view-options">Here's where view options go</div>
31-
<div class="view-options">Here's where view options go</div>
32-
</div>
33-
</div>
34-
<div class="kata">
35-
<!-- <div class="instructions">
36-
<div class="instructions-head">
37-
<button class="instructions-selector font13-reg-gray">Instructions</button>
38-
<button class="instructions-selector font13-reg-gray">Output</button>
39-
</div>
40-
<hr>
41-
<h2 class="font20-reg">Name of Kata</h2>
42-
<div>
43-
<p>Here's where the instructions go. We have to think about how to present code samples.</p>
44-
<div ng-repeat="test in output">
45-
<p>{{test.test}}</p>
46-
<p>{{test.result}}</p>
47-
</div>
48-
</div>
49-
</div> -->
50-
<div class="instructions" ng-style="instructionStyle">
51-
<div class="instructions-head">
52-
<button class="instructions-selector font13-reg-gray" ng-click="showInstructions()">Instructions</button>
53-
<button class="instructions-selector font13-reg-gray" ng-click="showOutput()">Output</button>
54-
</div>
55-
<hr>
56-
<show-output ng-hide="showOutputShow"></show-output>
57-
<show-instructions ng-hide="showInstructionsShow"></show-instructions>
58-
</div>
59-
<div class="kata-right" ng-style='kataStyle'>
60-
<div class="solution-div font14-lit-gray">
61-
<div class="solutions-header">
62-
<p>Solution:</p>
63-
<button value='small' ng-click="kataStyle={'width':'40vw'}; instructionStyle={'width':'60vw'}; allGone={'height':'100px'}">small</button>
64-
<button value='medium' ng-click="kataStyle={'width':'60vw'}; instructionStyle={'width':'40vw'}; allGone={'height':'100px'}">medium</button>
65-
<button value='large' ng-click="kataStyle={'width':'100vw','margin':'15px'}; instructionStyle={'display':'none'}; allGone={'height':'100px'}">large</button>
66-
<button value='full-screen' ng-click="kataStyle={'width':'100vw','margin':'15px'}; instructionStyle={'display':'none'}; allGone={'display':'none'}; exampleGone={'display':'none'}">full screen</button>
67-
</div>
68-
<div ng-style="exampleGone" class='example'>
69-
<textarea name="solution" id="solution-input" ng-init="solutionInput = 'var a = 1;'" ng-model="solutionInput"></textarea>
70-
</div>
71-
</div>
72-
<div class="example-tests-div font14-lit-gray">
73-
<p>Example Tests:</p>
74-
<textarea name="examples" id="example-input" ng-init="examplesInput = 'Test.assertEquals(a, 1);'" id="example-tests-input"
75-
ng-model="examplesInput"></textarea>
76-
<div class='button-div'>
77-
<button ng-click="testExamples()" class="test-examples-button font12-reg-blue">RUN EXAMPLES</button>
78-
<button ng-click="testSuite()" class="test-suite-button font12-reg-black"><i class="fa fa-caret-right fa-lg" style="margin-right: 2px" aria-hidden="true"></i>ATTEMPT</button>
79-
</div>
80-
</div>
81-
</div>
82-
</div>
83-
</div>
2+
<div class="training-body">
3+
<div class="training-top" ng-style='allGone'>
4+
<div class="kata-name-container">
5+
<div class="kata-name-container-top">
6+
<img src="./assets/imgs/5_kyu_icon.png" alt="Difficulty" id="difficulty-icon">
7+
<h3 class="font16-reg" id="kata-name">
8+
Name of Kata
9+
</h3>
10+
</div>
11+
<div class="kata-stats">
12+
<p>Here's where stats go</p>
13+
<p>Here's where stats go</p>
14+
<p>Here's where stats go</p>
15+
</div>
16+
</div>
17+
<!--End kata-name-container div-->
18+
<div class="selection-div">
19+
<select class="language-select-dropdown select-dropdown" ng-init="selectedLanguage = languages[0]" ng-model="selectedLanguage"
20+
ng-options="x for x in languages">
21+
22+
</select>
23+
<select class="language-version-select-dropdown select-dropdown" ng-init="selectedVersion = versions[0]" ng-model="selectedVersion"
24+
ng-options="x for x in versions">
25+
26+
</select>
27+
</div>
28+
<div class="assorted-options">
29+
<div class="view-options">Here's where view options go</div>
30+
<div class="view-options">Here's where view options go</div>
31+
<div class="view-options">Here's where view options go</div>
32+
</div>
33+
</div>
34+
<div class="kata">
35+
<!-- <div class="instructions">
36+
<div class="instructions-head">
37+
<button class="instructions-selector font13-reg-gray">Instructions</button>
38+
<button class="instructions-selector font13-reg-gray">Output</button>
39+
</div>
40+
<hr>
41+
<h2 class="font20-reg">Name of Kata</h2>
42+
<div>
43+
<p>Here's where the instructions go. We have to think about how to present code samples.</p>
44+
<div ng-repeat="test in output">
45+
<p>{{test.test}}</p>
46+
<p>{{test.result}}</p>
47+
</div>
48+
</div>
49+
</div> -->
50+
<div class="instructions" ng-style="instructionStyle">
51+
<div class="instructions-head">
52+
<button class="instructions-selector font13-reg-gray" ng-click="showInstructions()">Instructions</button>
53+
<button class="instructions-selector font13-reg-gray" ng-click="showOutput()">Output</button>
54+
</div>
55+
<hr>
56+
<show-output ng-hide="showOutputShow"></show-output>
57+
<show-instructions ng-hide="showInstructionsShow"></show-instructions>
58+
</div>
59+
<div class="kata-right" ng-style='kataStyle'>
60+
<div class="solution-div font14-lit-gray">
61+
<div class="solutions-header">
62+
<p>Solution:</p>
63+
<button value='small' ng-click="kataStyle={'width':'40vw'}; instructionStyle={'width':'60vw'}; allGone={'height':'100px'}">small</button>
64+
<button value='medium' ng-click="kataStyle={'width':'60vw'}; instructionStyle={'width':'40vw'}; allGone={'height':'100px'}">medium</button>
65+
<button value='large' ng-click="kataStyle={'width':'100vw','margin':'15px'}; instructionStyle={'display':'none'}; allGone={'height':'100px'}">large</button>
66+
<button value='full-screen' ng-click="kataStyle={'width':'100vw','margin':'15px'}; instructionStyle={'display':'none'}; allGone={'display':'none'}; exampleGone={'display':'none'}">full screen</button>
67+
</div>
68+
<div ng-style="exampleGone" class='example'>
69+
<textarea name="solution" id="solution-input" ng-init="solutionInput = 'var a = 1;'" ng-model="solutionInput"></textarea>
70+
</div>
71+
</div>
72+
<div class="example-tests-div font14-lit-gray">
73+
<p>Example Tests:</p>
74+
<div>
75+
<textarea name="examples" id="example-input" ng-init="examplesInput = 'Test.assertEquals(a, 1);'" id="example-tests-input" ng-model="examplesInput"></textarea>
76+
</div>
77+
<div class='button-div'>
78+
<button ng-click="testExamples()" class="test-examples-button font12-reg-blue">RUN EXAMPLES</button>
79+
<button ng-click="testSuite()" class="test-suite-button font12-reg-black"><i class="fa fa-caret-right fa-lg" style="margin-right: 2px" aria-hidden="true"></i>ATTEMPT</button>
80+
</div>
81+
</div>
82+
</div>
83+
</div>
84+
</div>
8485
</section>

0 commit comments

Comments
 (0)