@@ -250,4 +250,35 @@ module('Acceptance | view-user-profile', function (hooks) {
250250 assert . strictEqual ( userPage . courseProgressListItems . length , 1 , 'only one course progress list item should be shown' ) ;
251251 assert . strictEqual ( userPage . courseProgressListItems [ 0 ] . name , 'Build your own grep' , 'the course progress list item should be for grep' ) ;
252252 } ) ;
253+
254+ test ( 'it does not show private courses in user profile' , async function ( assert ) {
255+ testScenario ( this . server ) ;
256+
257+ let currentUser = this . server . schema . users . first ( ) ;
258+ let go = this . server . schema . languages . findBy ( { slug : 'go' } ) ;
259+ let redis = this . server . schema . courses . findBy ( { slug : 'redis' } ) ;
260+ let grep = this . server . schema . courses . findBy ( { slug : 'grep' } ) ;
261+ redis . update ( { visibility : 'private' } ) ;
262+
263+ this . server . create ( 'course-participation' , {
264+ course : grep ,
265+ language : go ,
266+ user : currentUser ,
267+ completedStageSlugs : grep . stages . models . sortBy ( 'position' ) . slice ( 0 , 5 ) . mapBy ( 'slug' ) ,
268+ lastSubmissionAt : new Date ( '2020-10-10' ) ,
269+ } ) ;
270+
271+ this . server . create ( 'course-participation' , {
272+ course : redis ,
273+ language : go ,
274+ user : currentUser ,
275+ completedAt : new Date ( '2020-01-01' ) ,
276+ } ) ;
277+
278+ await userPage . visit ( { username : 'rohitpaulk' } ) ;
279+
280+ assert . strictEqual ( userPage . courseProgressListItems . length , 1 , 'only one course progress list item should be shown' ) ;
281+ assert . strictEqual ( userPage . courseProgressListItems [ 0 ] . name , 'Build your own grep' , 'the course progress list item should be for grep' ) ;
282+ assert . notOk ( userPage . courseProgressListItems . mapBy ( 'name' ) . includes ( 'Build your own Redis' ) , 'private course should not be included' ) ;
283+ } ) ;
253284} ) ;
0 commit comments