diff --git a/tests/course_mock_data b/tests/course_mock_data index 816dc340f..0cb29313d 100644 --- a/tests/course_mock_data +++ b/tests/course_mock_data @@ -1,3 +1,8 @@ +/*Here I have made some course test scenario where test is done automatically while it renders all data in BeLL-App UI and couchdb. +For test scenario we have got multiple members, courses, steps , resources, questions adn a membercourseprogress as we need all +these specific variables or a data that should be bulk inserted in a data base*/ +/*For running this script we have to run node [filename][url] eg:node course_mock_data http://192.168.10.111:5982 */ + var util = require('util') var fs = require('fs') var exec = require('child_process').exec; @@ -11,39 +16,107 @@ var couchUrl = program.args[0] var nano = require('nano')(couchUrl) function start() { - increaseLimits() -} - -// Increase Limits so couchapp push works correctly -function increaseLimits() { - exec('sudo launchctl limit maxfiles 150056 150056', function doneWithLaunchCtl() { - exec('sudo ulimit -n 150056', function doneWithUlimit() { - return createDummyCourses() - }) - }) + return createDummyCourses() } -var n_courses = 2 ; //Number of Iteration to run for courses +var n_members = 4; +var n_steps = 5; var defaultCourses = []; //Contains only CourseID and MemberList var defaultCoursestep = []; var defaultCoursequestion = []; var defaultResources = []; +var defaultMembers = []; +var defaultCourseanswer = []; +var defaultMemberprogress = []; +var member_obj ={}; +var member_arr = [[],[],[],[],[]]; +var c_step ={}; +var m_step = [[],[],[],[]]; function createDummyCourses() { - var courses = nano.db.use('courses'); - var coursestep = nano.db.use('coursestep'); - var coursequestion = nano.db.use('coursequestion'); + var courses = nano.db.use('courses'); + var resources = nano.db.use('resources'); + var coursestep = nano.db.use('coursestep'); + var coursequestion = nano.db.use('coursequestion'); + var members = nano.db.use('members'); + var courseanswer = nano.db.use('courseanswer'); + var membercourseprogress = nano.db.use('membercourseprogress'); - for(course = 0; course < n_courses; course++){ + /***************Members***************/ + //First you need to create Member: + + for(var member = 0; member < n_members; member++){ + participation = member + 1; + if(member< parseInt(n_members/2)){ + defaultMembers.push({ + "login": "member" + participation, + "kind": "Member", + "roles": ["Manager"], + "firstName": "Member " + participation, + "lastName": "Member " + participation, + "password": "password", + "Gender": "Male", + "status": "active", + "email": "member" + participation + ".somalia@olebell.org", + "visits": 0, + "BirthDate": "01/01/1985" + }); + }else{ + defaultMembers.push({ + "login": "member" + participation, + "kind": "Member", + "roles": ["Learner"], + "firstName": "Member " + participation, + "lastName": "Member " + participation, + "password": "password", + "Gender": "Male", + "status": "active", + "email": "member" + participation + ".somalia@olebell.org", + "visits": 0, + "BirthDate": "01/01/1985" + }); + } + } + + members.bulk({"docs":defaultMembers}, function(err, resmem) { + if (err) + return console.log(err); + else { + for (var i = 0; i < 4; i++) { + member_arr[0].push(resmem[i].id) + } + member_obj[resmem[0].id] = member_arr[0] + for (var b = 0; b < 3; b++) { + member_arr[1].push(resmem[b].id) + } + member_obj[resmem[1].id] = member_arr[1] + for (var i = 0; i < 2; i++) { + member_arr[2].push(resmem[i].id) + } + member_obj[resmem[2].id] = member_arr[2] + for (var i = 0; i < 1; i++) { + member_arr[3].push(resmem[i].id) + } + member_obj[resmem[3].id] = member_arr[3] + for (var i = 0; i < 0; i++) { + member_arr[4].push(resmem[i].id) + } + + for(var course = 0; course < resmem.length; course++){ course_number = course + 1; var subjectLevel; + var gradelevel; if (course <=3){ subjectLevel = "Amateur"; - }else if(course>=4 && course<=8){ + gradelevel = "Higher" + }else if(course>=4){ subjectLevel = "Mid"; + gradelevel="10" }else{ subjectLevel = "Beginner"; + gradelevel="5" } + //insert into courses defaultCourses.push({ "CourseTitle": "Course " +course_number, "Day": "0", @@ -53,118 +126,183 @@ function createDummyCourses() { "endDate": "12/12/2017", "endTime": "17:00", "foregroundColor": "", - "gradeLevel": "1", + "gradeLevel": gradelevel, "kind": "Course", "languageOfInstruction": "English", "location": "Alberta", "memberLimit": "20", - "members": [], + "members": member_obj[Object.keys(member_obj)[course]], "method": "Theory and Practical", "name": "Course " +course_number, "startDate": "01/01/2017", "startTime": "10:00", "subjectLevel": subjectLevel }); - } - - //insert into courses - courses.bulk({"docs":defaultCourses}, function(err, res) { + } + courses.bulk({"docs":defaultCourses}, function(err, rescourse) { if (err) return console.log(err); - else { - course_id = []; - console.log(res.length); - for(var i=0;i 0; j--) { + defaultMemberprogress.push({ + "kind": "course-member-result", + "memberId":resmem[i].id, + "stepsIds": c_step[Object.keys(c_step)[j]], + "stepsResult": [ + [ + null, + "100" + ], + [ + null, + "25", + "50", + "65" + ], + [ + null, + "0", + "10" + ], + [ + null, + "0" + ], + "" + ], + "stepsStatus": [ + [ + null, + "1" + ], + [ + null, + "1", + "1", + "1" + ], + [ + null, + "0", + "0" + ], + [ + null, + null + ], + "0" + ], + "pqAttempts": [ + 1, + 3, + 2, + 1, + 0 + ], + "courseId": Object.keys(c_step)[j] + }); + } + } + membercourseprogress.bulk({"docs":defaultMemberprogress}, function(err, res) { if (err) return console.log(err); - else { - //need to update questionlist in coursestep - for(var i = 0; i < defaultCoursequestion.length; i++){ - defaultCoursestep[0].questionslist.push(res[i].id) - } - //update coursestep[0] - coursestep.insert(defaultCoursestep[0], function(err, res) { - if (err) - return console.log(err); - else - done(); - }); - } + else{ + done(); + } }); - } - }); - } + }); + } + }); + } }); } - }); + }); + } + }); } function done(){ - console.log("done"); + console.log("Your Course mock test is ready"); } start() \ No newline at end of file diff --git a/tests/report_test.js b/tests/report_tset.js similarity index 100% rename from tests/report_test.js rename to tests/report_tset.js