Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe('Describe wrapper', () => {
- let actual;
- let expected;
- let myClass;
- beforeEach(() => {
- actual = "";
- expected = "";
- myClass = new ChristmasMovies();
- });
- describe('Constructor check', () => {
- it('movieCollection property', () => {
- actual = myClass.movieCollection;
- expected = [];
- assert.deepEqual(actual, expected);
- });
- it('watched property', () => {
- actual = myClass.watched;
- expected = {};
- assert.deepEqual(actual, expected);
- });
- it('actors property', () => {
- actual = myClass.actors;
- expected = [];
- assert.deepEqual(actual, expected);
- });
- });
- describe('check buyMovie', () => {
- it('if already have the movie', () => {
- myClass.buyMovie('Movie', ['a', 'b', 'c']);
- actual = () => myClass.buyMovie('Movie', ['a', 'b', 'c']);
- expected = `You already own Movie in your collection!`
- assert.throw(actual, expected);
- });
- it('check if actors are unique', () => {
- actual = myClass.buyMovie('Movie', ['a', 'b', 'c', 'c']);
- expected = `You just got Movie to your collection in which a, b, c are taking part!`;
- assert.deepEqual(actual, expected);
- });
- it('check if coreectly added to collection', () => {
- myClass.buyMovie('Movie', ['a', 'b', 'c', 'c']);
- actual = myClass.movieCollection;
- expected = [{ name: 'Movie', actors: ['a', 'b', 'c'] }];
- assert.deepEqual(actual, expected);
- });
- });
- describe('check discardMovie', () => {
- it('if movie is not in the collection', () => {
- actual = () => myClass.discardMovie('Movie');
- expected = `Movie is not at your collection!`;
- assert.throw(actual, expected);
- });
- it('throw if not watched yet', () => {
- myClass.buyMovie('Movie');
- actual = () => myClass.discardMovie('Movie');
- expected = `Movie is not watched!`;
- assert.throw(actual, expected);
- });
- it('return message if thrown away', () => {
- myClass.buyMovie('Movie');
- myClass.watchMovie('Movie');
- actual = myClass.discardMovie('Movie');
- expected = `You just threw away Movie!`
- assert.equal(actual, expected);
- });
- });
- describe('check watchMovie', () => {
- it('throw is movie is not in the collection', () => {
- actual = () => myClass.watchMovie('Movie');
- expected = 'No such movie in your collection!';
- assert.throw(actual, expected);
- });
- it('add to collection', () => {
- myClass.buyMovie('Movie');
- myClass.watchMovie('Movie');
- actual = myClass.watched['Movie'];
- expected = 1
- assert.deepEqual(actual, expected);
- });
- it('increase watched number', () => {
- myClass.buyMovie('Movie');
- myClass.watchMovie('Movie');
- myClass.watchMovie('Movie');
- actual = myClass.watched['Movie'];
- expected = 2
- assert.deepEqual(actual, expected);
- });
- });
- describe('favouriteMovie check', () => {
- it('throw if no movies watched', () => {
- actual = () => myClass.favouriteMovie();
- expected = 'You have not watched a movie yet this year!';
- assert.throw(actual, expected);
- });
- it('return message if working properly', () => {
- myClass.buyMovie('Movie');
- myClass.watchMovie('Movie');
- myClass.watchMovie('Movie');
- myClass.buyMovie('Movie2');
- myClass.watchMovie('Movie2');
- actual=myClass.favouriteMovie();
- expected=`Your favourite movie is Movie and you have watched it 2 times!`
- assert.equal(actual,expected);
- });
- });
- describe('mostStarredActor check', () => {
- it('if there is not mvoies in the collection', () => {
- actual=()=>myClass.mostStarredActor();
- expected='You have not watched a movie yet this year!';
- assert.throw(actual,expected);
- });
- it('if working properly return message', () => {
- myClass.buyMovie('1',['a','b']);
- myClass.buyMovie('2',['a','c']);
- actual=myClass.mostStarredActor();
- expected=`The most starred actor is a and starred in 2 movies!`
- assert.deepEqual(actual,expected);
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement