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.

86 lines
2.1 KiB

  1. //Imports
  2. const uno = require('../js/uno');
  3. const Card = require('../js/cards/Card');
  4. const ChooseColor = require('../js/cards/special/ChooseColor');
  5. const Skip = require('../js/cards/special/Skip');
  6. const Reverse = require('../js/cards/special/Reverse');
  7. //Instanz CARD_COLORS aus uno.js
  8. const CARD_COLORS = uno.CARD_COLORS;
  9. //Testet das Erstellen einer Karte
  10. describe('Karten erstellen', () => {
  11. let card;
  12. it('6 - Blau', () => {
  13. //Erstellen einer normalen Karte:
  14. // Name: 6, Farbe: Blau
  15. card = new Card('6', CARD_COLORS[1]);
  16. //Testet das Erstellen der Karte
  17. testCreatedCard(card, '6', "BLUE");
  18. });
  19. it('8 - Grün', () => {
  20. //Erstellen einer normalen Karte:
  21. // Name: 6, Farbe: Blau
  22. card = new Card('8', CARD_COLORS[2]);
  23. //Testet das Erstellen der Karte
  24. testCreatedCard(card, '8', "GREEN");
  25. });
  26. it('ChooseColor', () => {
  27. //Erstellen einer +2 Karte:
  28. //Name: CC, Farbe: keine
  29. card = new ChooseColor('CC');
  30. //Testet das Erstellen der Karte
  31. testCreatedCard(card, 'CC', "NONE");
  32. });
  33. it('Skip - Gelb', () => {
  34. //Erstellen einer Skip Karte:
  35. //Name: Skip, Farbe: gelb
  36. card = new Skip('S', CARD_COLORS[4]);
  37. //Testet das Erstellen der Karte
  38. testCreatedCard(card, 'S', "YELLOW");
  39. });
  40. it('Reverse - Grün', () => {
  41. //Erstellen einer Reverse Karte:
  42. //Name: Reverse, Farbe: grün
  43. card = new Reverse('R', CARD_COLORS[2]);
  44. //Testet das Erstellen der Karte
  45. testCreatedCard(card, 'R', "GREEN");
  46. });
  47. });
  48. //Testet eine Karte auf die Eigenschaften von Card.js
  49. function testCreatedCard(card, number, card_colors){
  50. //Wenn Karte erstellt, wird Sie noch nicht auf dem Bildschirm abgebildet
  51. expect(card.onScreen).toBe(false);
  52. //Wenn Karte erstellt, kann sie noch nicht gesetzt werden
  53. expect(card.canPut).toBe(false);
  54. //Name der Karte muss der übergebene Name sein
  55. expect(card.name).toBe(number);
  56. //Farbe der Karte muss die übergebene Farbe sein
  57. expect(card.color).toBe(card_colors);
  58. }