<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

class DatDocAPITest extends \PHPUnit\Framework\TestCase
{
  /**
   * Sets up the fixture, for example, opens a network connection.
   * This method is called before a test is executed.
   */
  protected function setUp(): void
  {
  }

  /**
   * Tears down the fixture, for example, closes a network connection.
   * This method is called after a test is executed.
   */
  protected function tearDown(): void
  {
  }

  /**
   * @test
   * @covers \DatDocAPI::getDatDocTypen4Teilnehmer
   */
  public function testGetDatDocTypen4Teilnehmer()
  {
    $ary = array(
      'B',
      'B_T',
      'D_T',
      'D_T_D',
      'D_T_E',
      'D_T_O',
      'EP_T',
      'ET_E',
      'E_L',
      'E_T',
      'M',
      'N_T',
      'P_A',
      'P_M',
      'P_P',
      'P_R',
      'P_T',
      'P_Z',
      'R',
      'RR_B',
      'S_T',
      'T',
      'Z',
    );

    $this->assertEqualsCanonicalizing(\DatDocAPI::getDatDocTypen4Teilnehmer(), $ary);
  }

  /**
   * @test
   */
  public function testGetDatDocTypen4Dozenten()
  {
    $ary = array(
      'D',     //Word
      'V',     //Word - Vertrag
      'F',     //Word - Finanzamtsmitteilung
      'G',     //Word - Kurstage
      'E_D',   //eMail
      'ED_E',  //eMail - empfangene Mail (mit Outlook Add-In eingelesen)
      'N_D',   //Newsletter
      'P_V',   //PDF-Ablage - Vertrag
      'P_H',   //PDF-Ablage - Honorarabrechnung
      'P_F',   //PDF-Ablage - Finanzamtsmitteilung
      'P_D',   //PDF-Ablage - Telefonliste
      'D_D',   //Dokumente ext.
      'S_D',   //SMS
      'D_D_E', //EASY-Archiv - eMail
      'D_D_D', //EASY-Archiv - Scanner
      'D_D_O', //EASY-Archiv - Office
      'EP_D',  //E-Postbrief
      'B_D',   //Bamf
      'A_V_D', //automatisch erzeugter Vertrag im PDF-Format (zur Zeit nur MVHS)
      'TNL_D'  //TN-Liste im PDF-Format (zur Zeit nur MVHS)
    );

    $this->assertEqualsCanonicalizing(\DatDocAPI::getDatDocTypen4Dozenten(), $ary);
  }

  /**
   * @test
   */
  public function testGetDatDocTypen4Adresse()
  {
    $ary = array(
      'A',     //Word
      'E_A',   //eMail
      'EA_E',  //eMail - empfangene Mail (mit Outlook Add-In eingelesen)
      'N_A',   //Newsletter
      'P_S',   //PDF-Ablage - Telefonliste
      'D_A',   //Dokumente ext.
      'S_A',   //SMS
      'D_A_E', //EASY-Archiv - eMail
      'D_A_D', //EASY-Archiv - Scanner
      'D_A_O', //EASY-Archiv - Office
      'EP_A'  //E-Postbrief
    );

    $this->assertEqualsCanonicalizing(\DatDocAPI::getDatDocTypen4Adressen(), $ary);
  }

  /**
   * @test
   */
  public function testGetDatDocTypen4Kurse()
  {
    $ary = array(
      'D_K',   //Dokumente ext.
      'B_K',   //Dokumente Bamf int. //*mt 05.09.2014
      'K',     //Word *BM 18.05.2011
      'RR_B',  //Word - Raumreservierungs-Kurse Anzeige TN + Kurs *BM 08.05.2012
      //'G',     //Word - Kurstage           // Hat einen Verweis auf einen bestimmten Kurstag
      'D_K_E', //EASY-Archiv - eMail //*mt 05.09.2014
      'D_K_D', //EASY-Archiv - Scanner //*mt 05.09.2014
      'D_K_O'  //EASY-Archiv - Office //*mt 05.09.2014
    );

    $this->assertEqualsCanonicalizing(\DatDocAPI::getDatDocTypen4Kurse(), $ary);
  }
}
