You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.4 KiB

  1. //Imports
  2. const Player = require('../js/Player');
  3. const Card = require("../js/cards/Card");
  4. const uno = require("../js/uno");
  5. //Instanz CARD_COLORS aus uno.js
  6. const CARD_COLORS = uno.CARD_COLORS;
  7. //Testet das Erstellen eines Spielers
  8. describe('Spieler erstellen', () => {
  9. //Spieler
  10. let player;
  11. //Vor jedem Test, neuen Spieler erstellen
  12. beforeEach(() => {
  13. player = new Player('SpielerName');
  14. })
  15. //Testet ob der Name im Konstruktor richtig gesetzt wurde
  16. it('besitzt Name', () => {
  17. expect(player.name).toEqual('SpielerName');
  18. });
  19. //Testet ob der Spieler bei erstellung nicht an der Reihe ist
  20. it('ist nicht an der Reihe', () => {
  21. expect(player.turn).toBe(false);
  22. });
  23. //Testet ob der Spieler bei Erstellung keine Karte legen kann
  24. it('kann keine Karten legen', () => {
  25. expect(player.canPlay).toBe(false);
  26. });
  27. //Testet ob der Spieler bei Erstellung keine Karte in der Hand hat
  28. it('keine Karten auf der Hand', () => {
  29. expect(player.hand.length).toBe(0);
  30. });
  31. //Testet ob der Spieler eine Karte auf der Hand haben kann
  32. it('hat bestimmte Karte in der Hand', () => {
  33. let card = new Card(9, CARD_COLORS[2]);
  34. player.hand.push(card);
  35. expect(player.hand[0]).toEqual(card);
  36. player.hand.splice(0, 1);
  37. expect(player.hand.length).toBe(0);
  38. });
  39. });