Add school api (#11)

This commit is contained in:
Mikołaj Pich
2017-08-05 13:56:26 +02:00
committed by GitHub
parent 0aa083c8aa
commit 4539a62de9
10 changed files with 462 additions and 0 deletions

View File

@ -0,0 +1,33 @@
package io.github.wulkanowy.api.school;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class SchoolInfoTest extends SchoolTest {
private SchoolInfo schoolInfo;
@Before
public void setUp() throws Exception {
super.setUp();
schoolInfo = new SchoolInfo(school, snp);
}
@Test
public void getSchoolDataTest() throws Exception {
SchoolData schoolData = schoolInfo.getSchoolData();
Assert.assertEquals("Zespół Szkół nr 64", schoolData.getName());
Assert.assertEquals("ul. Wiśniowa 128, 01-234 Rogalowo, Nibylandia",
schoolData.getAddress());
Assert.assertEquals("55 5555555", schoolData.getPhoneNumber());
Assert.assertEquals("Antoni Sobczyk", schoolData.getHeadmaster());
Assert.assertArrayEquals(new String[]{
"Zofia Czerwińska [ZC]",
"Aleksander Krzemiński [AK]",
"Karolina Kowalska [KK]",
"Bartek Dąbrowski [BD]"
}, schoolData.getPedagogues());
}
}

View File

@ -0,0 +1,30 @@
package io.github.wulkanowy.api.school;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.junit.Before;
import org.mockito.Mockito;
import io.github.wulkanowy.api.FixtureHelper;
import io.github.wulkanowy.api.StudentAndParent;
public class SchoolTest {
protected School school;
protected StudentAndParent snp;
private String fixtureFileName = "Szkola.html";
@Before
public void setUp() throws Exception {
String input = FixtureHelper.getAsString(getClass().getResourceAsStream(fixtureFileName));
Document schoolPageDocument = Jsoup.parse(input);
school = Mockito.mock(School.class);
Mockito.when(school.getSchoolPageDocument()).thenReturn(schoolPageDocument);
snp = Mockito.mock(StudentAndParent.class);
Mockito.when(snp.getRowDataChildValue(Mockito.any(Element.class),
Mockito.anyInt())).thenCallRealMethod();
}
}

View File

@ -0,0 +1,44 @@
package io.github.wulkanowy.api.school;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.util.List;
public class TeachersInfoTest extends SchoolTest {
private TeachersInfo teachersInfo;
@Before
public void setUp() throws Exception {
super.setUp();
teachersInfo = new TeachersInfo(school);
}
@Test
public void getTeachersDataTest() throws Exception {
TeachersData teachersData = teachersInfo.getTeachersData();
Assert.assertEquals("1a", teachersData.getClassName());
Assert.assertArrayEquals(new String[]{
"Karolina Kowalska [AN]",
"Antoni Sobczyk [AS]"
}, teachersData.getClassTeacher());
List<Subject> subjects = teachersData.getSubjects();
Assert.assertEquals("Biologia", subjects.get(0).getName());
Assert.assertArrayEquals(new String[]{"Karolina Kowalska [AN]"},
subjects.get(0).getTeachers());
Assert.assertEquals("Karolina Kowalska [AN]",
subjects.get(0).getTeachers()[0]);
Assert.assertEquals("Język angielski", subjects.get(6).getName());
Assert.assertArrayEquals(new String[]{
"Karolina Kowalska [AN]",
"Mateusz Kowal [MK]",
"Amelia Mazur [AM]"
}, subjects.get(6).getTeachers());
}
}

View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Witryna ucznia i rodzica Szkoła i nauczyciele</title>
</head>
<body>
<main class="mainContainer">
<h1>Szkoła</h1>
<article>
<div class="daneWiersz">
<span class="tytul">Nazwa szkoły:</span>
<span class="wartosc">Zesp&#243;ł Szk&#243;ł nr 64</span>
</div>
<div class="daneWiersz">
<span class="tytul">Adres szkoły:</span>
<span class="wartosc">ul. Wiśniowa 128, 01-234 Rogalowo, Nibylandia</span>
</div>
<div class="daneWiersz">
<span class="tytul">Telefon:</span>
<span class="wartosc">55 5555555</span>
</div>
<div class="daneWiersz">
<span class="tytul">Imię i nazwisko dyrektora:</span>
<span class="wartosc">Antoni Sobczyk</span>
</div>
<div class="daneWiersz">
<span class="tytul">Imię i nazwisko pedagoga:</span>
<span class="wartosc">Zofia Czerwińska [ZC], Aleksander Krzemiński [AK], Karolina Kowalska [KK], Bartek Dąbrowski [BD]</span>
</div>
</article>
<h1>Nauczyciele</h1>
<p>
Klasa: 1a, Wychowawcy:
Karolina Kowalska [AN], Antoni Sobczyk [AS]</p>
<br/>
<table>
<thead>
<tr class="title">
<th>Lp.</th>
<th>Przedmiot</th>
<th>Nauczyciel</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Biologia</td>
<td>Karolina Kowalska [AN]</td>
</tr>
<tr>
<td>2</td>
<td>Chemia</td>
<td>Zofia Czerwińska [NA]</td>
</tr>
<tr>
<td>3</td>
<td>Edukacja dla bezpieczeństwa</td>
<td>Aleksandra Krajewska [AK]</td>
</tr>
<tr>
<td>4</td>
<td>Fizyka</td>
<td>Stanisław Krupa [BS]</td>
</tr>
<tr>
<td>5</td>
<td>Geografia</td>
<td>Aleksandra Wójtowicz [AW]</td>
</tr>
<tr>
<td>6</td>
<td>Historia</td>
<td>Sara Wierzbicka [KB]</td>
</tr>
<tr>
<td>7</td>
<td>Język angielski</td>
<td>Karolina Kowalska [AN], Mateusz Kowal [MK], Amelia Mazur [AM]</td>
</tr>
<tr>
<td>8</td>
<td>Język niemiecki</td>
<td>Mateusz Kowal [MK], Barbara Markowska [BM]</td>
</tr>
<tr>
<td>9</td>
<td>Język polski</td>
<td>Michał Mazur [MM]</td>
</tr>
<tr>
<td>10</td>
<td>Matematyka</td>
<td>Szymon Wojciechowski [SW]</td>
</tr>
<tr>
<td>11</td>
<td>Plastyka</td>
<td>Michał Mazur [MM]</td>
</tr>
<tr>
<td>12</td>
<td>Religia</td>
<td>Maja Wiśniewska [M]</td>
</tr>
<tr>
<td>13</td>
<td>Wiedza o społeczeństwie</td>
<td>Karolina Kowalska [AN]</td>
</tr>
<tr>
<td>14</td>
<td>Wychowanie do życia w rodzinie</td>
<td>Zofia Czerwińska [NA]</td>
</tr>
<tr>
<td>15</td>
<td>Wychowanie fizyczne</td>
<td>Karolina Kowalska [AN], Liliana Kowal [LK]</td>
</tr>
<tr>
<td>16</td>
<td>Zajęcia techniczne</td>
<td>Bartek Dąbrowski [BD]</td>
</tr>
<tr>
<td>17</td>
<td>Zajęcia z wychowawcą</td>
<td>Karolina Kowalska [AN]</td>
</tr>
</tbody>
</table>
</main>
<footer>wersja: 17.02.0000.23328</footer>
</body>
</html>