Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.73 KB | None | 0 0
  1. describe('Describe wrapper', () => {
  2. let actual;
  3. let expected;
  4. let myClass;
  5.  
  6. beforeEach(() => {
  7. actual = "";
  8. expected = "";
  9. myClass = new ChristmasMovies();
  10. });
  11.  
  12. describe('Constructor check', () => {
  13.  
  14. it('movieCollection property', () => {
  15. actual = myClass.movieCollection;
  16. expected = [];
  17. assert.deepEqual(actual, expected);
  18. });
  19.  
  20. it('watched property', () => {
  21. actual = myClass.watched;
  22. expected = {};
  23. assert.deepEqual(actual, expected);
  24. });
  25.  
  26. it('actors property', () => {
  27. actual = myClass.actors;
  28. expected = [];
  29. assert.deepEqual(actual, expected);
  30. });
  31. });
  32.  
  33. describe('check buyMovie', () => {
  34.  
  35. it('if already have the movie', () => {
  36. myClass.buyMovie('Movie', ['a', 'b', 'c']);
  37. actual = () => myClass.buyMovie('Movie', ['a', 'b', 'c']);
  38. expected = `You already own Movie in your collection!`
  39. assert.throw(actual, expected);
  40. });
  41.  
  42. it('check if actors are unique', () => {
  43. actual = myClass.buyMovie('Movie', ['a', 'b', 'c', 'c']);
  44. expected = `You just got Movie to your collection in which a, b, c are taking part!`;
  45. assert.deepEqual(actual, expected);
  46. });
  47. it('check if coreectly added to collection', () => {
  48. myClass.buyMovie('Movie', ['a', 'b', 'c', 'c']);
  49. actual = myClass.movieCollection;
  50. expected = [{ name: 'Movie', actors: ['a', 'b', 'c'] }];
  51. assert.deepEqual(actual, expected);
  52. });
  53. });
  54.  
  55. describe('check discardMovie', () => {
  56.  
  57. it('if movie is not in the collection', () => {
  58. actual = () => myClass.discardMovie('Movie');
  59. expected = `Movie is not at your collection!`;
  60. assert.throw(actual, expected);
  61. });
  62.  
  63. it('throw if not watched yet', () => {
  64. myClass.buyMovie('Movie');
  65. actual = () => myClass.discardMovie('Movie');
  66. expected = `Movie is not watched!`;
  67. assert.throw(actual, expected);
  68. });
  69.  
  70. it('return message if thrown away', () => {
  71. myClass.buyMovie('Movie');
  72. myClass.watchMovie('Movie');
  73. actual = myClass.discardMovie('Movie');
  74. expected = `You just threw away Movie!`
  75. assert.equal(actual, expected);
  76. });
  77. });
  78.  
  79. describe('check watchMovie', () => {
  80.  
  81. it('throw is movie is not in the collection', () => {
  82. actual = () => myClass.watchMovie('Movie');
  83. expected = 'No such movie in your collection!';
  84. assert.throw(actual, expected);
  85. });
  86.  
  87. it('add to collection', () => {
  88. myClass.buyMovie('Movie');
  89. myClass.watchMovie('Movie');
  90. actual = myClass.watched['Movie'];
  91. expected = 1
  92. assert.deepEqual(actual, expected);
  93. });
  94.  
  95. it('increase watched number', () => {
  96. myClass.buyMovie('Movie');
  97. myClass.watchMovie('Movie');
  98. myClass.watchMovie('Movie');
  99. actual = myClass.watched['Movie'];
  100. expected = 2
  101. assert.deepEqual(actual, expected);
  102. });
  103. });
  104.  
  105. describe('favouriteMovie check', () => {
  106.  
  107. it('throw if no movies watched', () => {
  108. actual = () => myClass.favouriteMovie();
  109. expected = 'You have not watched a movie yet this year!';
  110. assert.throw(actual, expected);
  111. });
  112.  
  113. it('return message if working properly', () => {
  114. myClass.buyMovie('Movie');
  115. myClass.watchMovie('Movie');
  116. myClass.watchMovie('Movie');
  117. myClass.buyMovie('Movie2');
  118. myClass.watchMovie('Movie2');
  119. actual=myClass.favouriteMovie();
  120. expected=`Your favourite movie is Movie and you have watched it 2 times!`
  121. assert.equal(actual,expected);
  122. });
  123. });
  124.  
  125. describe('mostStarredActor check', () => {
  126.  
  127. it('if there is not mvoies in the collection', () => {
  128. actual=()=>myClass.mostStarredActor();
  129. expected='You have not watched a movie yet this year!';
  130. assert.throw(actual,expected);
  131. });
  132.  
  133. it('if working properly return message', () => {
  134. myClass.buyMovie('1',['a','b']);
  135. myClass.buyMovie('2',['a','c']);
  136. actual=myClass.mostStarredActor();
  137. expected=`The most starred actor is a and starred in 2 movies!`
  138. assert.deepEqual(actual,expected);
  139. });
  140. });
  141. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement