Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe('Tests', () => {
- describe('Test Constructors', () =>{
- it("check properties", () =>{
- let christmasMovies = new ChristmasMovies();
- expect(christmasMovies.actors).to.deep.equal([])
- expect(christmasMovies.movieCollection).to.deep.equal([])
- expect(christmasMovies.watched).to.deep.equal({});
- });
- });
- describe("if BuyMovie works properly", () =>{
- it('Test Error Message', () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("Movie1", ['Actor1']);
- const result = () => christmasMovies.buyMovie("Movie1", ['Actor1']);
- expect(result).to.throw(Error, "You already own Movie1 in your collection!")
- })
- it('Test functionallity', () => {
- let christmasMovies = new ChristmasMovies();
- const result = christmasMovies.buyMovie("Movie1", ["Actor1","Actor2","Actor1"]);
- expect(christmasMovies.movieCollection[0]).to.deep.equal({
- name: "Movie1",
- actors: ["Actor1", "Actor2"]
- });
- expect(christmasMovies.movieCollection.length).to.equal(1);
- expect(christmasMovies.movieCollection[0].actors).to.deep.equal(["Actor1", "Actor2"]);
- expect(christmasMovies.movieCollection[0].actors.length).to.equal(2);
- expect(result).to.equal(`You just got Movie1 to your collection in which Actor1, Actor2 are taking part!`)
- })
- })
- describe("discard Movie", () => {
- describe("throw excpetion when there is no movie", () => {
- it('exception', () => {
- let christmasMovies = new ChristmasMovies();
- let result = () => christmasMovies.discardMovie('xd');
- expect(result).to.throw(Error, "xd is not at your collection!")
- })
- it("if delete works properly", () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("xd", ["Actor1", "Actor2"]);
- christmasMovies.watchMovie("xd")
- const result = christmasMovies.discardMovie("xd");
- expect(result).to.equal("You just threw away xd!")
- expect(christmasMovies.movieCollection.length).to.equal(0);
- expect(christmasMovies.movieCollection[0]).not.deep.equal({
- name: "Name1",
- actors: ["Actor1", "Actor2"]
- })
- it("if the movie is not watched", () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("xd", ["Actor1", "Actor2"]);
- const result = () => christmasMovies.discardMovie("xd");
- expect(result).to.throw("xd is not watched!")
- })
- })
- })
- describe("WatchMovie", () => {
- describe("if WatchMovie works correctly", () => {
- it("Tests if it doesnt work", () => {
- let christmasMovies = new ChristmasMovies();
- let result = () => christmasMovies.watchMovie("xd");
- expect(result).to.throw(Error, "No such movie in your collection!")
- })
- it("Tests if it works properly", () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("xd", ["Actor1", "Actor2"]);
- christmasMovies.watchMovie("xd");
- expect(christmasMovies.watched["xd"]).to.equal(1);
- })
- it("Test if it has been watched more than 1 time", () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("xd", ["Actor1", "Actor2"]);
- christmasMovies.watchMovie("xd");
- christmasMovies.watchMovie("xd");
- expect(christmasMovies.watched["xd"]).to.equal(2);
- })
- })
- })
- describe("Favourite Movie", () => {
- it("if it throws an error", () =>{
- let christmasMovies = new ChristmasMovies();
- let result = () => christmasMovies.favouriteMovie();
- expect(result).to.throw(Error, 'You have not watched a movie yet this year!')
- })
- it("checks if favourite movie works properly", () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("xd", ["Actor1", "Actor2"]);
- christmasMovies.buyMovie("x", ["Actor1", "Actor2"]);
- christmasMovies.watchMovie("xd");
- christmasMovies.watchMovie("xd");
- christmasMovies.watchMovie("x");
- let result = christmasMovies.favouriteMovie();
- expect(result).to.equal("Your favourite movie is xd and you have watched it 2 times!")
- })
- })
- describe("Most Starred Actor", () => {
- it("does it throw an Error", () => {
- let christmasMovies = new ChristmasMovies();
- let result = () => christmasMovies.mostStarredActor();
- expect(result).to.throw(Error,'You have not watched a movie yet this year!');
- })
- it("if it works properly", () => {
- let christmasMovies = new ChristmasMovies();
- christmasMovies.buyMovie("xd", ["Actor1", "Actor2", "Actor6"])
- christmasMovies.buyMovie("asd", ["Actor1", "Actor3", "Actor4"])
- christmasMovies.buyMovie("xdb", ["Actor3", "Actor1", "Actor5"])
- const result = christmasMovies.mostStarredActor();
- expect(result).to.equal(`The most starred actor is Actor1 and starred in 3 movies!`)
- })
- })
- })})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement