refactor: move app to monorepo

This commit is contained in:
2023-03-14 17:05:09 +01:00
parent 2f65ebf57f
commit 54ed0a2f27
775 changed files with 89 additions and 156 deletions

2
frontend/app/cypress/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
screenshots/
videos/

View File

@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

View File

@@ -0,0 +1,464 @@
{
"0": {
"data": [],
"facets": [],
"pagination": {
"count": 0,
"offset": 0,
"total": 0
},
"stats": {
"time": 17
}
},
"1": {
"data": [
{
"duration": "PT2H0M0S",
"uid": "0c7b1108-5af1-5142-802a-b3cb8c53423a",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "770563"
},
"origin": {
"indexed": "2022-06-02T10:09:30.199Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Proseminar",
"dates": [
"2021-10-18T10:00:00+02:00",
"2021-10-25T10:00:00+02:00",
"2021-11-01T10:00:00+01:00",
"2021-11-08T10:00:00+01:00",
"2021-11-15T10:00:00+01:00",
"2021-11-22T10:00:00+01:00",
"2021-11-29T10:00:00+01:00",
"2021-12-06T10:00:00+01:00"
],
"event": {
"categories": ["seminar"],
"identifiers": {
"LSF": "333284"
},
"name": "Vertiefung Forschungstechnik: Quantitative Text Analysis",
"originalCategory": "Proseminar",
"type": "academic event",
"uid": "8150cab0-8c53-5cfa-a751-cdc2c550fd09"
},
"type": "date series"
},
{
"duration": "PT2H0M0S",
"uid": "29942a12-3e9d-5f2a-8b5a-67f3411cc344",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "770564"
},
"origin": {
"indexed": "2022-06-02T10:09:30.201Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Proseminar",
"dates": [
"2021-10-20T10:00:00+02:00",
"2021-10-27T10:00:00+02:00",
"2021-11-03T10:00:00+01:00",
"2021-11-10T10:00:00+01:00",
"2021-11-17T10:00:00+01:00",
"2021-11-24T10:00:00+01:00",
"2021-12-01T10:00:00+01:00",
"2021-12-08T10:00:00+01:00"
],
"event": {
"categories": ["seminar"],
"identifiers": {
"LSF": "333284"
},
"name": "Vertiefung Forschungstechnik: Quantitative Text Analysis",
"originalCategory": "Proseminar",
"type": "academic event",
"uid": "8150cab0-8c53-5cfa-a751-cdc2c550fd09"
},
"type": "date series"
}
],
"facets": [
{
"buckets": [
{
"count": 2,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 2,
"key": "seminar"
}
],
"field": "event.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 2,
"offset": 0,
"total": 2
},
"stats": {
"time": 20
}
},
"2": {
"data": [
{
"duration": "PT2H0M0S",
"uid": "6cd69d5b-457d-54fe-9c9d-f2d964f922bb",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "795424"
},
"origin": {
"indexed": "2022-06-02T10:09:17.000Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Seminar",
"dates": [
"2022-04-25T10:00:00+02:00",
"2022-05-02T10:00:00+02:00",
"2022-05-09T10:00:00+02:00",
"2022-05-16T10:00:00+02:00",
"2022-05-23T10:00:00+02:00",
"2022-05-30T10:00:00+02:00",
"2022-06-13T10:00:00+02:00",
"2022-06-20T10:00:00+02:00",
"2022-06-27T10:00:00+02:00",
"2022-07-04T10:00:00+02:00",
"2022-07-11T10:00:00+02:00"
],
"event": {
"categories": ["seminar"],
"identifiers": {
"LSF": "336255"
},
"name": "Integrations-Seminar: Die Pest eine Geißel Gottes?",
"originalCategory": "Seminar",
"type": "academic event",
"uid": "5218f814-f112-5f0d-a686-0ad32f5458d7"
},
"type": "date series",
"inPlace": {
"alternateNames": ["NG 701", "Seminarraum, Belegungspräferenz Fb 6, Fb 7 und Fb 9"],
"categories": ["learn", "education"],
"geo": {
"point": {
"coordinates": [8.66986, 50.12624],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.669566065073013, 50.12599504439663],
[8.669351488351822, 50.12621170950345],
[8.669488281011581, 50.12626501584762],
[8.66951510310173, 50.12624094202212],
[8.669930845499039, 50.12641633675929],
[8.66990938782692, 50.12643525183961],
[8.670027405023577, 50.1264851188337],
[8.670236617326736, 50.12627361363954],
[8.669566065073013, 50.12599504439663]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "818"
},
"name": "NG 701 (Vorbelegungsrecht Fb 06, 07, 09)",
"type": "room",
"uid": "c2832ca4-4db1-57a9-869b-29e556a574e1"
}
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "seminar"
}
],
"field": "event.categories",
"onlyOnType": "date series"
},
{
"buckets": [
{
"count": 1,
"key": "education"
},
{
"count": 1,
"key": "learn"
}
],
"field": "inPlace.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 19
}
},
"3": {
"data": [
{
"duration": "PT2H0M0S",
"uid": "92ea4c39-e6d9-5b3e-8c8a-08d2406daf2b",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "775246"
},
"origin": {
"indexed": "2022-06-02T10:09:22.176Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Seminar",
"dates": [
"2022-04-11T16:00:00+02:00",
"2022-04-25T16:00:00+02:00",
"2022-05-02T16:00:00+02:00",
"2022-05-09T16:00:00+02:00",
"2022-05-16T16:00:00+02:00",
"2022-05-23T16:00:00+02:00",
"2022-05-30T16:00:00+02:00",
"2022-06-13T16:00:00+02:00",
"2022-06-20T16:00:00+02:00",
"2022-06-27T16:00:00+02:00",
"2022-07-04T16:00:00+02:00",
"2022-07-11T16:00:00+02:00"
],
"event": {
"categories": ["seminar"],
"identifiers": {
"LSF": "334591"
},
"name": "Konstruktion der Wirklichkeit. Siegfried Kracauers Text-Mosaik",
"originalCategory": "Seminar",
"type": "academic event",
"uid": "9d019d9e-d26e-52a0-bf3e-56e7950784af"
},
"type": "date series",
"inPlace": {
"alternateNames": ["SH 4.101"],
"categories": ["learn", "education"],
"geo": {
"point": {
"coordinates": [8.66836, 50.12927],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.668371140956877, 50.12907297255887],
[8.668247759342194, 50.12942717952356],
[8.668864667415619, 50.129513151692436],
[8.668977320194244, 50.1291692620903],
[8.668371140956877, 50.12907297255887]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "7378"
},
"name": "SH 4.101",
"type": "room",
"uid": "7d603157-54a8-5a1a-94a3-a575a6cc5b47"
}
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "seminar"
}
],
"field": "event.categories",
"onlyOnType": "date series"
},
{
"buckets": [
{
"count": 1,
"key": "education"
},
{
"count": 1,
"key": "learn"
}
],
"field": "inPlace.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 19
}
},
"4": {
"data": [
{
"duration": "PT2H0M0S",
"uid": "9c36d466-5e59-5e45-92db-d3e50e9617ce",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "763069"
},
"origin": {
"indexed": "2022-06-02T10:09:47.309Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Tutorium",
"dates": [
"2021-10-25T14:00:00+02:00",
"2021-11-01T14:00:00+01:00",
"2021-11-08T14:00:00+01:00",
"2021-11-15T14:00:00+01:00",
"2021-11-22T14:00:00+01:00",
"2021-11-29T14:00:00+01:00",
"2021-12-06T14:00:00+01:00",
"2021-12-13T14:00:00+01:00",
"2022-01-10T14:00:00+01:00",
"2022-01-17T14:00:00+01:00",
"2022-01-24T14:00:00+01:00",
"2022-01-31T14:00:00+01:00",
"2022-02-07T14:00:00+01:00",
"2022-02-14T14:00:00+01:00"
],
"event": {
"categories": ["tutorial"],
"identifiers": {
"LSF": "329884"
},
"name": "Einführung in Text Mining mit R",
"originalCategory": "Tutorium",
"type": "academic event",
"uid": "7c1c016f-49f5-51b5-971b-9307fe1fed4f"
},
"type": "date series",
"inPlace": {
"alternateNames": ["SH 1.105"],
"categories": ["learn", "education"],
"geo": {
"point": {
"coordinates": [8.66836, 50.12927],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.668371140956877, 50.12907297255887],
[8.668247759342194, 50.12942717952356],
[8.668864667415619, 50.129513151692436],
[8.668977320194244, 50.1291692620903],
[8.668371140956877, 50.12907297255887]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "7337"
},
"name": "SH 1.105 (Vorbelegungsrecht FB 04, gültig für WS 22/23)",
"type": "room",
"uid": "ee1de899-2e25-5680-b7ed-e8fcad6c5408"
}
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "tutorial"
}
],
"field": "event.categories",
"onlyOnType": "date series"
},
{
"buckets": [
{
"count": 1,
"key": "education"
},
{
"count": 1,
"key": "learn"
}
],
"field": "inPlace.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 21
}
}
}

View File

@@ -0,0 +1,12 @@
{
"data": [],
"facets": [],
"pagination": {
"count": 0,
"offset": 0,
"total": 0
},
"stats": {
"time": 4
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,208 @@
{
"data": [
{
"uid": "2ae9f707-c9d3-5bc6-bfbc-734dbd148336",
"identifiers": {
"LSF": "336024"
},
"catalogs": [
{
"categories": ["university events"],
"identifiers": {
"LSF": "85523"
},
"level": 2,
"name": "Fremdsprachen",
"type": "catalog",
"uid": "004a2be2-efad-5d14-8b6b-88701651c3fd"
}
],
"origin": {
"indexed": "2059-06-03T10:10:13.841Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "UNIcert (Test)",
"organizers": [
{
"familyName": "Guzmán",
"gender": "female",
"givenName": "Evelyn",
"identifiers": {
"LSF": "15239"
},
"jobTitles": ["ISZ-Bereich Fremdsprachen - Wissenschaftliche Mitarbeiter*innen"],
"name": "Evelyn Guzmán",
"type": "person",
"uid": "6cd47b1f-485a-50be-8ca6-7ebe71729b7d"
}
],
"originalCategory": "Übung",
"categories": ["exercise"],
"type": "academic event",
"academicTerms": [
{
"acronym": "WiSe 2058/59",
"alternateNames": ["Winter 2058/59"],
"endDate": "2059-03-31T21:59:59.999Z",
"eventsEndDate": "2059-02-18T22:59:59.999Z",
"eventsStartDate": "2021-10-17T22:00:00.000Z",
"name": "Wintersemester 2021/22",
"startDate": "2021-09-30T22:00:00.000Z",
"type": "semester",
"uid": "049ab143-8b77-5dcc-95e9-8bb6755f3db4"
}
]
},
{
"uid": "d65576a9-da8a-5c3f-828d-ef8fb749b47e",
"identifiers": {
"LSF": "333339"
},
"catalogs": [
{
"categories": ["university events"],
"identifiers": {
"LSF": "90887"
},
"level": 3,
"name": "Empirische Forschungsmethoden II - Vertiefung (EW-BA 7)",
"type": "catalog",
"uid": "cc509f14-1a54-5500-a48e-57c1965aac09"
},
{
"categories": ["university events"],
"identifiers": {
"LSF": "88474"
},
"level": 3,
"name": "Empirische Forschungsverfahren und ihre Anwendung (alt) / Empirische Foschungsmethoden II - Vertiefung (neu) (EW-BA 7)",
"type": "catalog",
"uid": "6d7018f8-8a7c-50ff-9504-c5ec3c978e8b"
},
{
"categories": ["university events"],
"identifiers": {
"LSF": "91137"
},
"level": 1,
"name": "Pädagogik der Elementar- und Primarstufe",
"type": "catalog",
"uid": "991c01fa-674f-58c1-add8-54317fee2c27"
}
],
"origin": {
"indexed": "2059-06-03T10:08:49.850Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "EW-BA7-quantitativ: Test- und Fragebogenkonstruktion",
"organizers": [
{
"familyName": "Jurecka",
"gender": "female",
"givenName": "Astrid",
"honorificPrefix": "Dr.",
"identifiers": {
"LSF": "10608"
},
"jobTitles": [
"Institut für Pädagogik der Elementar- und Primarstufe (WE II) - Wissenschaftliche Mitarbeiter*innen"
],
"name": "Astrid Jurecka",
"type": "person",
"uid": "92ad2023-5c9d-5fcf-8c42-58b476ae24ba"
}
],
"originalCategory": "Seminar",
"categories": ["seminar"],
"type": "academic event",
"academicTerms": [
{
"acronym": "SoSe 2059",
"alternateNames": ["Sommer 2059"],
"endDate": "2059-09-30T21:59:59.999Z",
"eventsEndDate": "2059-07-15T21:59:59.999Z",
"eventsStartDate": "2059-04-10T22:00:00.000Z",
"name": "Sommersemester 2059",
"startDate": "2059-03-31T22:00:00.000Z",
"type": "semester",
"uid": "4b2766cb-e16d-5698-b5b3-e650613d497a"
}
]
}
],
"facets": [
{
"buckets": [
{
"count": 2,
"key": "academic event"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "WiSe 2058/59"
},
{
"count": 1,
"key": "SoSe 2059"
}
],
"field": "academicTerms.acronym",
"onlyOnType": "academic event"
},
{
"buckets": [
{
"count": 2,
"key": "university events"
}
],
"field": "catalogs.categories",
"onlyOnType": "academic event"
},
{
"buckets": [
{
"count": 17,
"key": "seminar"
},
{
"count": 3,
"key": "exercise"
},
{
"count": 3,
"key": "practicum"
},
{
"count": 2,
"key": "special"
},
{
"count": 1,
"key": "lecture"
},
{
"count": 1,
"key": "tutorial"
}
],
"field": "categories",
"onlyOnType": "academic event"
}
],
"pagination": {
"count": 2,
"offset": 0,
"total": 2
},
"stats": {
"time": 69
}
}

View File

@@ -0,0 +1,59 @@
{
"data": [
{
"geo": {
"point": {
"coordinates": [8.666987121105194, 50.12725203226799],
"type": "Point"
}
},
"uid": "86464b64-da1e-5578-a5c4-eec23457f596",
"alternateNames": ["Alfredo Anbau Casino"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Kaffeebar Alfredo/Cocktailbar Theodor-W.-Adorno-Platz 2"
},
"origin": {
"indexed": "2022-06-08T18:45:04.280Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Alfredo Anbau Casino",
"openingHours": "Mo-Fr 08:30-22:00; Sa-Su off; 2022 Feb 21 - 2022 Apr 08 Mo-Fr 10:00-21:00; 2022 Feb 21 - 2022 Apr 08 Sa-Su off",
"categories": ["cafe"],
"type": "room"
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "room"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "cafe"
}
],
"field": "categories",
"onlyOnType": "room"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 2
}
}

View File

@@ -0,0 +1,323 @@
{
"data": [
{
"geo": {
"point": {
"coordinates": [8.666987121105194, 50.12725203226799],
"type": "Point"
}
},
"uid": "86464b64-da1e-5578-a5c4-eec23457f596",
"alternateNames": ["Alfredo Anbau Casino"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Kaffeebar Alfredo/Cocktailbar Theodor-W.-Adorno-Platz 2"
},
"origin": {
"indexed": "2022-07-07T08:15:04.173Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Alfredo Anbau Casino",
"openingHours": "Mo-Fr 08:30-22:00; Sa-Su off; 2022 Feb 21 - 2022 Apr 08 Mo-Fr 10:00-21:00; 2022 Feb 21 - 2022 Apr 08 Sa-Su off",
"categories": ["cafe"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.6441518, 50.131335],
"type": "Point"
}
},
"uid": "c77576af-1633-5465-ba12-6089d1d8919d",
"alternateNames": ["Cafe Hochform"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60487",
"streetAddress": "Institut für Sportwissenschaften Ginnheimer Landstrasse 39"
},
"origin": {
"indexed": "2022-07-07T08:15:04.173Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Cafe Hochform",
"openingHours": "Mo-Fr 09:00-16:00; Sa-Su off; 2022 Feb 21 - 2022 Apr 08 Mo-Fr 09:00-15:30; 2022 Feb 21 - 2022 Apr 08 Sa-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.651551008224486, 50.11935877057829],
"type": "Point"
}
},
"uid": "7a3270e5-6af1-58cd-b2d9-6bce2bf8fffb",
"alternateNames": ["Cafeteria Bockenheim"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60325",
"streetAddress": "Sozialzentrum Bockenheimer Landstrasse 133"
},
"origin": {
"indexed": "2022-07-07T08:15:04.168Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Cafeteria Bockenheim",
"openingHours": "Mo-Fr 08:00-16:00; Sa-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.6266007, 50.172658],
"type": "Point"
}
},
"uid": "9d7596b1-102b-5003-91d8-aa0b411cc0e8",
"alternateNames": ["Cafeteria Darwins"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60438",
"streetAddress": "Biologicum Max-von-Laue-Str. 13"
},
"origin": {
"indexed": "2022-07-07T08:15:04.174Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Cafeteria Darwins",
"openingHours": "Mo-Fr 08:30-17:00; Sa-Su off; 2021 Oct 15 - 2022 Apr 08 Mo-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.6285375, 50.1743717],
"type": "Point"
}
},
"uid": "2da7eb88-768f-5881-9e84-8dc0d767c8b7",
"alternateNames": ["Cafeteria LEVEL"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60438",
"streetAddress": "Otto-Stern-Zentrum Ruth-Moufang-Straße 2"
},
"origin": {
"indexed": "2022-07-07T08:15:04.174Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Cafeteria LEVEL",
"openingHours": "Mo-Fr 09:00-16:00; Sa-Su off; 2021 Dec 20 - 2022 Jan 07 Mo-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.666908666491508, 50.12685997940193],
"type": "Point"
}
},
"uid": "01d3e4fb-779a-5ee5-8067-d77a44a33e1a",
"alternateNames": ["Casino Cafeteria"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Cafeteria Casino Theodor-W.-Adorno-Platz 2"
},
"origin": {
"indexed": "2022-07-07T08:15:04.174Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Casino Cafeteria",
"openingHours": "Mo-Th 11:00-17:00; Fr 11:00-14:30; Sa-Su off; 2020 May 18 - 2022 Oct 14 Mo-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.668776154518127, 50.12844708588227],
"type": "Point"
}
},
"uid": "74e6a230-56fe-5c0e-b529-1c126df98595",
"alternateNames": ["DASEIN"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "PEG Theodor-W.-Adorno-Platz 6"
},
"origin": {
"indexed": "2022-07-07T08:15:04.174Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "DASEIN",
"openingHours": "Mo-Fr 07:30-17:00; Sa-Su off; 2022 Feb 21 - 2022 Apr 08 Mo-Fr 08:00-16:00; 2022 Feb 21 - 2022 Apr 08 Sa-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.666871786117554, 50.127181531770134],
"type": "Point"
}
},
"uid": "41f2bac9-ea46-5643-a354-49b1d5539a09",
"alternateNames": ["Mensa Anbau Casino"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Anbau Casino Theodor-W.-Adorno-Platz 2"
},
"origin": {
"indexed": "2022-07-07T08:15:04.173Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Mensa Anbau Casino",
"openingHours": "Mo-Fr 11:00-15:30; Sa-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.667021989822388, 50.12683762541366],
"type": "Point"
}
},
"uid": "254b10c1-8a79-53ad-98dc-3e0e30d92a88",
"alternateNames": ["Mensa Casino"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Casinogebäude Theodor-W.-Adorno-Platz 2a"
},
"origin": {
"indexed": "2022-07-07T08:15:04.173Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Mensa Casino",
"openingHours": "Mo-Fr 12:00-15:00; Sa-Su off; 2022 Mar 24 - 2022 Apr 14 Mo-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.6300707, 50.17189],
"type": "Point"
}
},
"uid": "a307c74a-40c1-57bb-a065-15bb9c505b9d",
"alternateNames": ["Mensa Pi x Gaumen"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60438",
"streetAddress": "Max-von-Laue-Str. 9"
},
"origin": {
"indexed": "2022-07-07T08:15:04.174Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Mensa Pi x Gaumen",
"openingHours": "Mo-Fr 11:00-15:00; Sa-Su off",
"categories": ["restaurant"],
"type": "room"
},
{
"geo": {
"point": {
"coordinates": [8.666126132011412, 50.1266751288006],
"type": "Point"
}
},
"uid": "be3f4727-5ed2-5470-aa45-6bf7eb7e30d4",
"alternateNames": ["Sommergarten Westend"],
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Sommergarten Theodor-W.-Adorno-Platz 2a"
},
"origin": {
"indexed": "2022-07-07T08:15:04.173Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Sommergarten Westend",
"openingHours": "Mo-Fr 15:30-22:00; Sa-Su off; 2021 Sep 27 - 2022 Apr 14 Mo-Su off",
"categories": ["restaurant"],
"type": "room"
}
],
"facets": [
{
"buckets": [
{
"count": 11,
"key": "room"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 10,
"key": "restaurant"
},
{
"count": 1,
"key": "cafe"
}
],
"field": "categories",
"onlyOnType": "room"
}
],
"pagination": {
"count": 11,
"offset": 0,
"total": 11
},
"stats": {
"time": 4
}
}

View File

@@ -0,0 +1,113 @@
{
"data": [
{
"uid": "ae3cf884-4dc4-526b-9213-6850135591ab",
"superCatalogs": [
{
"categories": ["university events"],
"identifiers": {
"LSF": "88418"
},
"level": 0,
"name": "FB 1 - Rechtswissenschaft",
"type": "catalog",
"uid": "401169e8-92d8-575b-8fa9-bf49ede63b0e",
"description": "Das stets aktuelle Vorlesungsverzeichnis des Fachbereichs Rechtswissenschaft finden Sie hier! Ein Ausdruck mit allen aktuellen Änderungen hängt außerdem vor dem Dekanat des Fachbereichs (1. OG, Gebäude RuW) aus. Nähere Informationen über den Aufbau des Studiums der Rechtswissenschaft erhalten Sie über unsere Studien- und Prüfungsordnung, die Sie im Dekanat bekommen. Das gedruckte VORLESUNGSVERZEICHNIS kann zudem während der Öffnungszeiten im Hörsaalgebäude am Verkaufsstand der Buchhandlung Hector erworben werden.\n\nDas Veranstaltungsangebot orientiert sich am Studienplan des Fachbereichs Rechtswissenschaft. Die Lehrveranstaltungen beginnen in der ersten Vorlesungswoche. Die Pflichtveranstaltungen enden an unserem Fachbereich\neine Woche vor Vorlesungsende\n, anschließend beginnt die zweiwöchige Klausurenphase.\n\nDie wöchentlichen Veranstaltungen im Schwerpunktbereichsstudium enden bereits zwei Wochen vor dem allgemeinen Vorlesungsende der Universität. Anschließend werden Blockveranstaltungen angeboten.\n\nAchtung:\nIm Schwerpunktbereichsstudium dürfen insgesamt nur maximal zwei rechtsmedizinische und arztrechtliche Veranstaltungen des Insituts für Rechtsmedizin zur Erbringung des Pflichtprogramms gem. § 25 Abs. 3 genutzt werden!\n\n\n\n\n \n\nFür Studienanfänger wird eine spezielle dreitägige Orientierungsveranstaltung in der Woche vor Vorlesungsbeginn angeboten; Einzelheiten hierzu werden brieflich mitgeteilt. Für Fragen und Sorgen steht die Studienberatung des Fachbereichs für Studierende aller Semester zur Verfügung und zwar während der Vorlesungszeit Mo, Di, Do, 9.30-11.30 Uhr und Mi, 9.30-11.30 und 13.30-15.30 Uhr in den Räumen des Dekanats, für Berufstätige nach Vereinbarung.\nIn der vorlesungsfreien Zeit ausschließlich Mi 9.30-11.30 Uhr!\n\nDer Fachbereich bietet einen Aufbaustudiengang für im Ausland graduierte Juristinnen und Juristen (LL.M.), einen Aufbaustudiengang \"Europäisches und Internationales Wirtschaftsrecht\" (LL.M. Eur.), einen Weiterbildungsstudiengang \"Law and Finance\" (LL.M. Finance), ein Masterprogramm \"LL.M. Legal Theory\" sowie zusammen mit der Universität Lumière Lyon II das Studienprogramm zum französischen Recht \"Diplôme Universitaire de Droit Français\" (DUDF) an. Veranstaltungen zu den Studiengängen siehe Vorlesungsverzeichnis und Aushänge."
}
],
"level": 1,
"academicTerm": {
"acronym": "SoSe 2022",
"alternateNames": ["Sommer 2022"],
"endDate": "2022-09-30T21:59:59.999Z",
"eventsEndDate": "2022-07-15T21:59:59.999Z",
"eventsStartDate": "2022-04-10T22:00:00.000Z",
"name": "Sommersemester 2022",
"startDate": "2022-03-31T22:00:00.000Z",
"type": "semester",
"uid": "4b2766cb-e16d-5698-b5b3-e650613d497a"
},
"identifiers": {
"LSF": "88412"
},
"origin": {
"indexed": "2022-06-03T10:08:42.803Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Studium der Pflichtfächer (1. bis 5. Semester)",
"categories": ["university events"],
"type": "catalog",
"superCatalog": {
"categories": ["university events"],
"identifiers": {
"LSF": "88418"
},
"level": 0,
"name": "FB 1 - Rechtswissenschaft",
"type": "catalog",
"uid": "401169e8-92d8-575b-8fa9-bf49ede63b0e",
"description": "Das stets aktuelle Vorlesungsverzeichnis des Fachbereichs Rechtswissenschaft finden Sie hier! Ein Ausdruck mit allen aktuellen Änderungen hängt außerdem vor dem Dekanat des Fachbereichs (1. OG, Gebäude RuW) aus. Nähere Informationen über den Aufbau des Studiums der Rechtswissenschaft erhalten Sie über unsere Studien- und Prüfungsordnung, die Sie im Dekanat bekommen. Das gedruckte VORLESUNGSVERZEICHNIS kann zudem während der Öffnungszeiten im Hörsaalgebäude am Verkaufsstand der Buchhandlung Hector erworben werden.\n\nDas Veranstaltungsangebot orientiert sich am Studienplan des Fachbereichs Rechtswissenschaft. Die Lehrveranstaltungen beginnen in der ersten Vorlesungswoche. Die Pflichtveranstaltungen enden an unserem Fachbereich\neine Woche vor Vorlesungsende\n, anschließend beginnt die zweiwöchige Klausurenphase.\n\nDie wöchentlichen Veranstaltungen im Schwerpunktbereichsstudium enden bereits zwei Wochen vor dem allgemeinen Vorlesungsende der Universität. Anschließend werden Blockveranstaltungen angeboten.\n\nAchtung:\nIm Schwerpunktbereichsstudium dürfen insgesamt nur maximal zwei rechtsmedizinische und arztrechtliche Veranstaltungen des Insituts für Rechtsmedizin zur Erbringung des Pflichtprogramms gem. § 25 Abs. 3 genutzt werden!\n\n\n\n\n \n\nFür Studienanfänger wird eine spezielle dreitägige Orientierungsveranstaltung in der Woche vor Vorlesungsbeginn angeboten; Einzelheiten hierzu werden brieflich mitgeteilt. Für Fragen und Sorgen steht die Studienberatung des Fachbereichs für Studierende aller Semester zur Verfügung und zwar während der Vorlesungszeit Mo, Di, Do, 9.30-11.30 Uhr und Mi, 9.30-11.30 und 13.30-15.30 Uhr in den Räumen des Dekanats, für Berufstätige nach Vereinbarung.\nIn der vorlesungsfreien Zeit ausschließlich Mi 9.30-11.30 Uhr!\n\nDer Fachbereich bietet einen Aufbaustudiengang für im Ausland graduierte Juristinnen und Juristen (LL.M.), einen Aufbaustudiengang \"Europäisches und Internationales Wirtschaftsrecht\" (LL.M. Eur.), einen Weiterbildungsstudiengang \"Law and Finance\" (LL.M. Finance), ein Masterprogramm \"LL.M. Legal Theory\" sowie zusammen mit der Universität Lumière Lyon II das Studienprogramm zum französischen Recht \"Diplôme Universitaire de Droit Français\" (DUDF) an. Veranstaltungen zu den Studiengängen siehe Vorlesungsverzeichnis und Aushänge."
}
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "catalog"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "SoSe 2022"
}
],
"field": "academicTerm.acronym",
"onlyOnType": "catalog"
},
{
"buckets": [
{
"count": 1,
"key": "university events"
}
],
"field": "categories",
"onlyOnType": "catalog"
},
{
"buckets": [
{
"count": 1,
"key": "university events"
}
],
"field": "superCatalog.categories",
"onlyOnType": "catalog"
},
{
"buckets": [
{
"count": 1,
"key": "university events"
}
],
"field": "superCatalogs.categories",
"onlyOnType": "catalog"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 2
}
}

View File

@@ -0,0 +1,70 @@
{
"data": [
{
"uid": "401169e8-92d8-575b-8fa9-bf49ede63b0e",
"level": 0,
"academicTerm": {
"acronym": "SoSe 2022",
"alternateNames": ["Sommer 2022"],
"endDate": "2022-09-30T21:59:59.999Z",
"eventsEndDate": "2022-07-15T21:59:59.999Z",
"eventsStartDate": "2022-04-10T22:00:00.000Z",
"name": "Sommersemester 2022",
"startDate": "2022-03-31T22:00:00.000Z",
"type": "semester",
"uid": "4b2766cb-e16d-5698-b5b3-e650613d497a"
},
"identifiers": {
"LSF": "88418"
},
"origin": {
"indexed": "2022-06-03T10:08:42.796Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "FB 1 - Rechtswissenschaft",
"description": "Das stets aktuelle Vorlesungsverzeichnis des Fachbereichs Rechtswissenschaft finden Sie hier! Ein Ausdruck mit allen aktuellen Änderungen hängt außerdem vor dem Dekanat des Fachbereichs (1. OG, Gebäude RuW) aus. Nähere Informationen über den Aufbau des Studiums der Rechtswissenschaft erhalten Sie über unsere Studien- und Prüfungsordnung, die Sie im Dekanat bekommen. Das gedruckte VORLESUNGSVERZEICHNIS kann zudem während der Öffnungszeiten im Hörsaalgebäude am Verkaufsstand der Buchhandlung Hector erworben werden.\n\nDas Veranstaltungsangebot orientiert sich am Studienplan des Fachbereichs Rechtswissenschaft. Die Lehrveranstaltungen beginnen in der ersten Vorlesungswoche. Die Pflichtveranstaltungen enden an unserem Fachbereich\neine Woche vor Vorlesungsende\n, anschließend beginnt die zweiwöchige Klausurenphase.\n\nDie wöchentlichen Veranstaltungen im Schwerpunktbereichsstudium enden bereits zwei Wochen vor dem allgemeinen Vorlesungsende der Universität. Anschließend werden Blockveranstaltungen angeboten.\n\nAchtung:\nIm Schwerpunktbereichsstudium dürfen insgesamt nur maximal zwei rechtsmedizinische und arztrechtliche Veranstaltungen des Insituts für Rechtsmedizin zur Erbringung des Pflichtprogramms gem. § 25 Abs. 3 genutzt werden!\n\n\n\n\n \n\nFür Studienanfänger wird eine spezielle dreitägige Orientierungsveranstaltung in der Woche vor Vorlesungsbeginn angeboten; Einzelheiten hierzu werden brieflich mitgeteilt. Für Fragen und Sorgen steht die Studienberatung des Fachbereichs für Studierende aller Semester zur Verfügung und zwar während der Vorlesungszeit Mo, Di, Do, 9.30-11.30 Uhr und Mi, 9.30-11.30 und 13.30-15.30 Uhr in den Räumen des Dekanats, für Berufstätige nach Vereinbarung.\nIn der vorlesungsfreien Zeit ausschließlich Mi 9.30-11.30 Uhr!\n\nDer Fachbereich bietet einen Aufbaustudiengang für im Ausland graduierte Juristinnen und Juristen (LL.M.), einen Aufbaustudiengang \"Europäisches und Internationales Wirtschaftsrecht\" (LL.M. Eur.), einen Weiterbildungsstudiengang \"Law and Finance\" (LL.M. Finance), ein Masterprogramm \"LL.M. Legal Theory\" sowie zusammen mit der Universität Lumière Lyon II das Studienprogramm zum französischen Recht \"Diplôme Universitaire de Droit Français\" (DUDF) an. Veranstaltungen zu den Studiengängen siehe Vorlesungsverzeichnis und Aushänge.",
"categories": ["university events"],
"type": "catalog"
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "catalog"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "SoSe 2022"
}
],
"field": "academicTerm.acronym",
"onlyOnType": "catalog"
},
{
"buckets": [
{
"count": 1,
"key": "university events"
}
],
"field": "categories",
"onlyOnType": "catalog"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 3
}
}

View File

@@ -0,0 +1,108 @@
{
"data": [
{
"duration": "PT1H0M0S",
"uid": "c010f7d6-5a32-522a-8316-045e032ea25e",
"identifiers": {
"LSF": "779352"
},
"origin": {
"indexed": "2059-06-03T10:10:13.842Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Übung",
"dates": ["2059-01-19T14:00:00+01:00"],
"event": {
"categories": ["exercise"],
"identifiers": {
"LSF": "336024"
},
"name": "UNIcert (Test)",
"originalCategory": "Übung",
"type": "academic event",
"uid": "2ae9f707-c9d3-5bc6-bfbc-734dbd148336"
},
"type": "date series",
"inPlace": {
"alternateNames": ["H I", "Hörsaal I"],
"categories": ["learn", "education"],
"geo": {
"point": {
"coordinates": [8.64988, 50.11825],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.650173693895338, 50.11768192973537],
[8.649645298719406, 50.1177214866573],
[8.649690896272658, 50.11794334878755],
[8.649795502424238, 50.11793646935709],
[8.649822324514389, 50.11810845482188],
[8.64978477358818, 50.118110174673404],
[8.649827688932419, 50.11833375484596],
[8.650490194559096, 50.11828559920474],
[8.650428503751753, 50.11806029895402],
[8.65011468529701, 50.11808265704158],
[8.650082498788832, 50.11792615020954],
[8.650203198194502, 50.117914111201316],
[8.650173693895338, 50.11768192973537]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "706"
},
"name": "H I (Vorbelegungsrecht Kunstgeschichte)",
"type": "room",
"uid": "07ccd06f-2f58-52ce-bcdd-2341f79b5893"
}
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "exercise"
}
],
"field": "event.categories",
"onlyOnType": "date series"
},
{
"buckets": [
{
"count": 1,
"key": "education"
},
{
"count": 1,
"key": "learn"
}
],
"field": "inPlace.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 5
}
}

View File

@@ -0,0 +1,297 @@
{
"1": {
"data": [
{
"duration": "PT2H0M0S",
"uid": "f50aab9a-ce14-57e2-a3f1-e0d2da600bb7",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "797371"
},
"origin": {
"indexed": "2059-06-03T10:08:50.850Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Seminar",
"dates": [
"2059-04-14T12:00:00+02:00",
"2059-04-21T12:00:00+02:00",
"2059-04-28T12:00:00+02:00",
"2059-05-05T12:00:00+02:00",
"2059-05-12T12:00:00+02:00",
"2059-05-19T12:00:00+02:00",
"2059-06-02T12:00:00+02:00",
"2059-06-09T12:00:00+02:00",
"2059-06-23T12:00:00+02:00",
"2059-06-30T12:00:00+02:00",
"2059-07-07T12:00:00+02:00",
"2059-07-14T12:00:00+02:00"
],
"event": {
"categories": ["seminar"],
"identifiers": {
"LSF": "333339"
},
"name": "EW-BA7-quantitativ: Test- und Fragebogenkonstruktion",
"originalCategory": "Seminar",
"type": "academic event",
"uid": "d65576a9-da8a-5c3f-828d-ef8fb749b47e"
},
"type": "date series",
"inPlace": {
"alternateNames": ["SH 1.106"],
"categories": ["learn", "education"],
"geo": {
"point": {
"coordinates": [8.66836, 50.12927],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.668371140956877, 50.12907297255887],
[8.668247759342194, 50.12942717952356],
[8.668864667415619, 50.129513151692436],
[8.668977320194244, 50.1291692620903],
[8.668371140956877, 50.12907297255887]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "7340"
},
"name": "SH 1.106",
"type": "room",
"uid": "56e6632a-415a-542f-93a1-69adf34d5d0c"
}
},
{
"duration": "PT2H0M0S",
"uid": "b572671f-c713-5f1e-ab2b-d0e6b54091a8",
"repeatFrequency": "P1W",
"identifiers": {
"LSF": "770743"
},
"origin": {
"indexed": "2059-06-03T10:08:50.848Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Seminar",
"dates": [
"2059-04-14T12:00:00+02:00",
"2059-04-21T12:00:00+02:00",
"2059-04-28T12:00:00+02:00",
"2059-05-05T12:00:00+02:00",
"2059-05-12T12:00:00+02:00",
"2059-05-19T12:00:00+02:00",
"2059-06-02T12:00:00+02:00",
"2059-06-09T12:00:00+02:00",
"2059-06-23T12:00:00+02:00",
"2059-06-30T12:00:00+02:00",
"2059-07-07T12:00:00+02:00",
"2059-07-14T12:00:00+02:00"
],
"event": {
"categories": ["seminar"],
"identifiers": {
"LSF": "333339"
},
"name": "EW-BA7-quantitativ: Test- und Fragebogenkonstruktion",
"originalCategory": "Seminar",
"type": "academic event",
"uid": "d65576a9-da8a-5c3f-828d-ef8fb749b47e"
},
"type": "date series",
"inPlace": {
"alternateNames": ["PEG 2G 089", "PC-Pool / Seminar"],
"categories": ["computer"],
"geo": {
"point": {
"coordinates": [8.66919, 50.12834],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.66911545395851, 50.128080835212074],
[8.668997436761854, 50.128419574192236],
[8.668603152036665, 50.1283851845574],
[8.668450266122816, 50.128827089483565],
[8.669802099466322, 50.129014510963145],
[8.670357316732405, 50.128266540127555],
[8.66911545395851, 50.128080835212074]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "6086"
},
"name": "PEG 2.G 089",
"type": "room",
"uid": "25dbedd7-0471-536d-8e48-e9d21ccea172"
}
}
],
"facets": [
{
"buckets": [
{
"count": 2,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 2,
"key": "seminar"
}
],
"field": "event.categories",
"onlyOnType": "date series"
},
{
"buckets": [
{
"count": 1,
"key": "computer"
},
{
"count": 1,
"key": "education"
},
{
"count": 1,
"key": "learn"
}
],
"field": "inPlace.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 2,
"offset": 0,
"total": 2
},
"stats": {
"time": 17
}
},
"0": {
"data": [
{
"duration": "PT1H0M0S",
"uid": "c010f7d6-5a32-522a-8316-045e032ea25e",
"identifiers": {
"LSF": "779352"
},
"origin": {
"indexed": "2059-06-03T10:10:13.842Z",
"name": "Goethe-Uni QIS / LSF",
"type": "remote"
},
"name": "Übung",
"dates": ["2059-01-19T14:00:00+01:00"],
"event": {
"categories": ["exercise"],
"identifiers": {
"LSF": "336024"
},
"name": "UNIcert (Test)",
"originalCategory": "Übung",
"type": "academic event",
"uid": "2ae9f707-c9d3-5bc6-bfbc-734dbd148336"
},
"type": "date series",
"inPlace": {
"alternateNames": ["H I", "Hörsaal I"],
"categories": ["learn", "education"],
"geo": {
"point": {
"coordinates": [8.64988, 50.11825],
"type": "Point"
},
"polygon": {
"coordinates": [
[
[8.650173693895338, 50.11768192973537],
[8.649645298719406, 50.1177214866573],
[8.649690896272658, 50.11794334878755],
[8.649795502424238, 50.11793646935709],
[8.649822324514389, 50.11810845482188],
[8.64978477358818, 50.118110174673404],
[8.649827688932419, 50.11833375484596],
[8.650490194559096, 50.11828559920474],
[8.650428503751753, 50.11806029895402],
[8.65011468529701, 50.11808265704158],
[8.650082498788832, 50.11792615020954],
[8.650203198194502, 50.117914111201316],
[8.650173693895338, 50.11768192973537]
]
],
"type": "Polygon"
}
},
"identifiers": {
"LSF": "706"
},
"name": "H I (Vorbelegungsrecht Kunstgeschichte)",
"type": "room",
"uid": "07ccd06f-2f58-52ce-bcdd-2341f79b5893"
}
}
],
"facets": [
{
"buckets": [
{
"count": 1,
"key": "date series"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 1,
"key": "exercise"
}
],
"field": "event.categories",
"onlyOnType": "date series"
},
{
"buckets": [
{
"count": 1,
"key": "education"
},
{
"count": 1,
"key": "learn"
}
],
"field": "inPlace.categories",
"onlyOnType": "date series"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 5
}
}
}

View File

@@ -0,0 +1,129 @@
{
"2022-06-08T18:56:17.052Z": {
"data": [
{
"offers": [
{
"availability": "in stock",
"availabilityRange": {
"gte": "2022-06-08T06:30:00.000Z",
"lte": "2022-06-08T20:00:00.000Z"
},
"inPlace": {
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Kaffeebar Alfredo/Cocktailbar Theodor-W.-Adorno-Platz 2"
},
"alternateNames": ["Alfredo Anbau Casino"],
"categories": ["cafe"],
"geo": {
"point": {
"coordinates": [8.666987121105194, 50.12725203226799],
"type": "Point"
}
},
"name": "Alfredo Anbau Casino",
"openingHours": "Mo-Fr 08:30-22:00; Sa-Su off; 2022 Feb 21 - 2022 Apr 08 Mo-Fr 10:00-21:00; 2022 Feb 21 - 2022 Apr 08 Sa-Su off",
"type": "room",
"uid": "86464b64-da1e-5578-a5c4-eec23457f596"
},
"prices": {
"default": 4.4,
"employee": 1.1,
"guest": 2.2,
"student": 3.3
},
"provider": {
"name": "Studentenwerk Frankfurt am Main",
"type": "organization",
"uid": "b7b50ecd-2c33-5a62-adb0-2a7c6c0ab04c"
}
}
],
"uid": "d8a0b68b-4bfc-5780-9d33-a29b2ac0fae2",
"nutrition": {
"calories": 863,
"carbohydrateContent": 103.5,
"fatContent": 39,
"proteinContent": 33.1,
"saltContent": 4.1,
"saturatedFatContent": 3.1,
"sugarContent": 11.8
},
"additives": [
"preserved (2)",
"with antioxidants (3)",
"gluten (A)",
"milk (G)",
"celery (I)",
"sulphur dioxide / sulphite (L)"
],
"translations": {
"de": {
"additives": [
"konserviert (2)",
"mit Antioxidationsmittel (3)",
"Glutenhaltige Getreide (A)",
"Milch u. Milcherzeugnisse (G)",
"Sellerie u. Sellerieerzeugnisse (I)",
"Schwefeldioxid / Sulfit (L)"
],
"description": "Pizza Antipasti (2,3,A,G,I,L,A1)",
"name": "Pizza Antipasti"
}
},
"origin": {
"indexed": "2022-06-08T18:45:04.736Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Antipasti pizza",
"description": "Antipasti pizza (2,3,A,G,I,L,A1)",
"categories": ["main dish"],
"type": "dish"
}
],
"facets": [
{
"buckets": [
{
"count": 10,
"key": "dish"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 10,
"key": "main dish"
}
],
"field": "categories",
"onlyOnType": "dish"
},
{
"buckets": [
{
"count": 10,
"key": "cafe"
}
],
"field": "offers.inPlace.categories",
"onlyOnType": "dish"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 8
}
}
}

View File

@@ -0,0 +1,369 @@
{
"2022-06-08T18:56:17.052Z": {
"data": [
{
"offers": [
{
"availability": "in stock",
"availabilityRange": {
"gte": "2022-06-08T06:30:00.000Z",
"lte": "2022-06-08T20:00:00.000Z"
},
"inPlace": {
"address": {
"addressCountry": "Deutschland",
"addressLocality": "Frankfurt am Main",
"addressRegion": "Hessen",
"postalCode": "60323",
"streetAddress": "Kaffeebar Alfredo/Cocktailbar Theodor-W.-Adorno-Platz 2"
},
"alternateNames": ["Alfredo Anbau Casino"],
"categories": ["cafe"],
"geo": {
"point": {
"coordinates": [8.666987121105194, 50.12725203226799],
"type": "Point"
}
},
"name": "Alfredo Anbau Casino",
"openingHours": "Mo-Fr 08:30-22:00; Sa-Su off; 2022 Feb 21 - 2022 Apr 08 Mo-Fr 10:00-21:00; 2022 Feb 21 - 2022 Apr 08 Sa-Su off",
"type": "room",
"uid": "86464b64-da1e-5578-a5c4-eec23457f596"
},
"prices": {
"default": 4.4,
"employee": 1.1,
"guest": 2.2,
"student": 3.3
},
"provider": {
"name": "Studentenwerk Frankfurt am Main",
"type": "organization",
"uid": "b7b50ecd-2c33-5a62-adb0-2a7c6c0ab04c"
}
}
],
"uid": "d8a0b68b-4bfc-5780-9d33-a29b2ac0fae2",
"nutrition": {
"calories": 863,
"carbohydrateContent": 103.5,
"fatContent": 39,
"proteinContent": 33.1,
"saltContent": 4.1,
"saturatedFatContent": 3.1,
"sugarContent": 11.8
},
"additives": [
"preserved (2)",
"with antioxidants (3)",
"gluten (A)",
"milk (G)",
"celery (I)",
"sulphur dioxide / sulphite (L)"
],
"translations": {
"de": {
"additives": [
"konserviert (2)",
"mit Antioxidationsmittel (3)",
"Glutenhaltige Getreide (A)",
"Milch u. Milcherzeugnisse (G)",
"Sellerie u. Sellerieerzeugnisse (I)",
"Schwefeldioxid / Sulfit (L)"
],
"description": "Pizza Antipasti (2,3,A,G,I,L,A1)",
"name": "Pizza Antipasti"
}
},
"origin": {
"indexed": "2022-06-08T18:45:04.736Z",
"name": "Studentenwerk Frankfurt am Main",
"type": "remote"
},
"name": "Antipasti pizza",
"description": "Antipasti pizza (2,3,A,G,I,L,A1)",
"categories": ["main dish"],
"type": "dish"
},
{
"type": "dish",
"name": "Pizza mit Geflügelsalami und Champignons",
"categories": ["main dish"],
"characteristics": [],
"additives": [
"konserviert",
"Antioxidationsmittel",
"Farbstoff",
"Weizen",
"Milch(Laktose; Milcheiweiß)",
"Nitritpökelsalz",
"Hefe"
],
"offers": [
{
"availability": "in stock",
"availabilityRange": {
"gte": "2017-01-30T00:00:00.000Z",
"lte": "2017-01-30T23:59:59.999Z"
},
"prices": {
"default": 4.85,
"student": 2.85,
"employee": 3.85,
"guest": 4.85
},
"provider": {
"name": "Studentenwerk",
"type": "organization",
"uid": "3b9b3df6-3a7a-58cc-922f-c7335c002634"
},
"inPlace": {
"geo": {
"point": {
"type": "Point",
"coordinates": [13.32612, 52.50978]
}
},
"type": "building",
"categories": ["restaurant"],
"openingHours": "Mo-Fr 11:00-14:30",
"name": "TU-Mensa",
"alternateNames": ["MensaHardenberg"],
"uid": "72fbc8a3-ebd1-58f9-9526-ad65cba2e402",
"address": {
"addressCountry": "Germany",
"addressLocality": "Berlin",
"addressRegion": "Berlin",
"postalCode": "10623",
"streetAddress": "Hardenbergstraße 34"
}
}
}
],
"uid": "c9f32915-8ed5-5960-b850-3f7375a89922",
"origin": {
"indexed": "2018-09-11T12:30:00Z",
"name": "Dummy",
"type": "remote"
}
},
{
"type": "dish",
"name": "Sahne-Bärlauchsauce",
"description": "Nudelauswahl",
"categories": ["main dish"],
"offers": [
{
"prices": {
"default": 3.45,
"student": 2.45,
"employee": 3.45
},
"provider": {
"name": "Studentenwerk",
"type": "organization",
"uid": "3b9b3df6-3a7a-58cc-922f-c7335c002634"
},
"availability": "in stock",
"availabilityRange": {
"gte": "2017-01-30T00:00:00.000Z",
"lte": "2017-01-30T23:59:59.999Z"
},
"inPlace": {
"geo": {
"point": {
"type": "Point",
"coordinates": [13.32612, 52.50978]
}
},
"type": "building",
"categories": ["restaurant"],
"openingHours": "Mo-Fr 11:00-14:30",
"name": "TU-Mensa",
"alternateNames": ["MensaHardenberg"],
"uid": "072db1e5-e479-5040-88e0-4a98d731e443",
"address": {
"addressCountry": "Germany",
"addressLocality": "Berlin",
"addressRegion": "Berlin",
"postalCode": "10623",
"streetAddress": "Hardenbergstraße 34"
}
}
}
],
"characteristics": [
{
"name": "bad"
},
{
"name": "vegetarian",
"image": "https://backend/res/img/characteristic_small_vegetarian.png"
}
],
"additives": ["Weizen", "Milch(Laktose; Milcheiweiß)"],
"uid": "3222631f-82b3-5faf-a8e8-9c10719cc95b",
"origin": {
"indexed": "2018-09-11T12:30:00Z",
"name": "Dummy",
"type": "remote"
}
},
{
"additives": [
"1 = mit Farbstoff",
"2 = konserviert",
"3 = mit Antioxidationsmittel",
"9 = mit Süßungsmittel",
"A = Glutenhaltige Getreide",
"G = Milch u. Milcherzeugnisse"
],
"offers": [
{
"availability": "in stock",
"availabilityRange": {
"gte": "2017-03-27T00:00:00.000Z",
"lte": "2017-03-27T23:59:59.000Z"
},
"inPlace": {
"type": "room",
"name": "Cafeteria LEVEL",
"categories": ["cafe"],
"uid": "e5492c9c-064e-547c-8633-c8fc8955cfcf",
"alternateNames": ["Cafeteria LEVEL"],
"openingHours": "Mo-Fr 08:30-17:00",
"geo": {
"point": {
"type": "Point",
"coordinates": [8.6285375, 50.1743717]
}
}
},
"prices": {
"default": 6.5,
"student": 4.9,
"employee": 6.5
},
"provider": {
"name": "Studentenwerk",
"type": "organization",
"uid": "3b9b3df6-3a7a-58cc-922f-c7335c002634"
}
}
],
"categories": ["main dish"],
"characteristics": [
{
"name": "Rind",
"image": "https://backend/res/img/characteristic_small_rind.png"
}
],
"description": "Salsa Burger (1,2,3,9,A,G)",
"name": "Salsa Burger",
"dishAddOns": [
{
"characteristics": [
{
"name": "Vegan",
"image": "https://backend/res/img/characteristic_small_vegan.png"
}
],
"description": "Pommes frites",
"type": "dish",
"uid": "db0caac1-062c-5333-9fcb-cfaf0ff7d799",
"nutrition": {
"calories": 106,
"fatContent": 5.4,
"saturatedFatContent": 1.8,
"carbohydrateContent": 6.8,
"sugarContent": 6.1,
"proteinContent": 6.9,
"saltContent": 3.7
},
"additives": ["3 = mit Antioxidationsmittel", "5 = geschwefelt"],
"name": "Pommes frites",
"categories": ["side dish"]
},
{
"characteristics": [
{
"name": "Vegan",
"image": "https://backend/res/img/characteristic_small_vegan.png"
}
],
"description": "Glasierte Karotten",
"type": "dish",
"uid": "f702fd43-1551-53b2-b35a-b5916e1cf9a1",
"nutrition": {
"calories": 106,
"fatContent": 5.4,
"saturatedFatContent": 1.8,
"carbohydrateContent": 6.8,
"sugarContent": 6.1,
"proteinContent": 6.9,
"saltContent": 3.7
},
"additives": ["F = Soja u. Sojaerzeugnisse"],
"name": "Glasierte Karotten",
"categories": ["side dish", "salad"]
}
],
"type": "dish",
"uid": "1c99689c-c6ec-551f-8ad8-f13c5fa812c2",
"nutrition": {
"calories": 600,
"fatContent": 30.5,
"saturatedFatContent": 9.9,
"carbohydrateContent": 42.2,
"sugarContent": 5.7,
"proteinContent": 38.6,
"saltContent": 3.5
},
"origin": {
"indexed": "2018-09-11T12:30:00Z",
"name": "Dummy",
"type": "remote"
}
}
],
"facets": [
{
"buckets": [
{
"count": 10,
"key": "dish"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 10,
"key": "main dish"
}
],
"field": "categories",
"onlyOnType": "dish"
},
{
"buckets": [
{
"count": 10,
"key": "cafe"
}
],
"field": "offers.inPlace.categories",
"onlyOnType": "dish"
}
],
"pagination": {
"count": 1,
"offset": 0,
"total": 1
},
"stats": {
"time": 8
}
}
}

View File

@@ -0,0 +1,141 @@
{
"data": [
{
"datePublished": "2022-06-07T09:42:00.000Z",
"uid": "c90c7d30-410f-5aea-a67b-ea1f98929b93",
"messageBody": "DE for Students and Employees",
"origin": {
"indexed": "2022-06-08T19:30:08.640Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "DE for Students and Employees",
"image": "https://robohash.org/de_for_students_and_employees?size=264x183&set=set4&bgset=bg1",
"audiences": ["students", "employees"],
"inLanguage": "de",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59273"
},
{
"datePublished": "2022-06-03T06:45:00.000Z",
"uid": "5de64e1a-e0d1-5a18-bdb9-f31af54ec838",
"messageBody": "DE for Students",
"origin": {
"indexed": "2022-06-08T19:30:08.645Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "DE for Students",
"image": "https://robohash.org/de_for_students?size=264x183&set=set4&bgset=bg1",
"audiences": ["students"],
"inLanguage": "de",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59258"
},
{
"datePublished": "2022-06-03T06:45:00.000Z",
"uid": "5de64e1a-e0d1-5a18-bdb9-f31af54ec838",
"messageBody": "DE for Employees",
"origin": {
"indexed": "2022-06-08T19:30:08.645Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "DE for Employees",
"image": "https://robohash.org/de_for_employees?size=264x183&set=set4&bgset=bg1",
"audiences": ["employees"],
"inLanguage": "de",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59258"
},
{
"datePublished": "2022-06-07T09:42:00.000Z",
"uid": "c90c7d30-410f-5aea-a67b-ea1f98929b93",
"messageBody": "EN for Students and Employees",
"origin": {
"indexed": "2022-06-08T19:30:08.640Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "EN for Students and Employees",
"image": "https://robohash.org/en_for_students_and_employees?size=264x183&set=set4&bgset=bg1",
"audiences": ["students", "employees"],
"inLanguage": "en",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59273"
},
{
"datePublished": "2022-06-03T06:45:00.000Z",
"uid": "5de64e1a-e0d1-5a18-bdb9-f31af54ec838",
"messageBody": "EN for Students",
"origin": {
"indexed": "2022-06-08T19:30:08.645Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "EN for Students",
"image": "https://robohash.org/en_for_students?size=264x183&set=set4&bgset=bg1",
"audiences": ["students"],
"inLanguage": "en",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59258"
},
{
"datePublished": "2022-06-03T06:45:00.000Z",
"uid": "5de64e1a-e0d1-5a18-bdb9-f31af54ec838",
"messageBody": "EN for Employees",
"origin": {
"indexed": "2022-06-08T19:30:08.645Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "EN for Employees",
"image": "https://robohash.org/en_for_employees?size=264x183&set=set4&bgset=bg1",
"audiences": ["employees"],
"inLanguage": "en",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59258"
}
],
"facets": [
{
"buckets": [
{
"count": 85,
"key": "message"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 85,
"key": "news"
}
],
"field": "categories",
"onlyOnType": "message"
}
],
"pagination": {
"count": 10,
"offset": 0,
"total": 85
},
"stats": {
"time": 2
}
}

View File

@@ -0,0 +1,51 @@
{
"data": [
{
"datePublished": "2022-06-07T09:42:00.000Z",
"uid": "c90c7d30-410f-5aea-a67b-ea1f98929b93",
"messageBody": "DE for Students and Employees",
"origin": {
"indexed": "2022-06-08T19:30:08.640Z",
"name": "Goethe-Uni Online",
"type": "remote",
"url": "https://aktuelles.uni-frankfurt.de/feed"
},
"name": "DE for Students and Employees",
"image": "https://robohash.org/de_for_students_and_employees?size=264x183&set=set4&bgset=bg1",
"audiences": ["students", "employees"],
"inLanguage": "de",
"categories": ["news"],
"type": "message",
"sameAs": "https://aktuelles.uni-frankfurt.de/?p=59273"
}
],
"facets": [
{
"buckets": [
{
"count": 85,
"key": "message"
}
],
"field": "type"
},
{
"buckets": [
{
"count": 85,
"key": "news"
}
],
"field": "categories",
"onlyOnType": "message"
}
],
"pagination": {
"count": 10,
"offset": 0,
"total": 85
},
"stats": {
"time": 2
}
}

View File

@@ -0,0 +1,28 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('App', () => {
it('should have a proper title', () => {
cy.visit('/');
cy.title().should('equal', 'StApps');
});
it('should have a proper working navigation', () => {
cy.visit('/');
cy.contains('Einstellungen').click();
cy.get('ion-title').contains('Einstellungen');
});
});

View File

@@ -0,0 +1,37 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('assessments', function () {
/*it('should have default back navigation', function () {
// TODO: Implement this
cy.visit(
'assessments/detail/02f065a6-6c02-58ab-97d9-a3febdbc91a1?token=mock',
);
cy.get('ion-back-button').click();
});*/
it('should always have a path', function () {
cy.visit('/assessments/detail/02f065a6-6c02-58ab-97d9-a3febdbc91a1?token=mock');
cy.get('stapps-data-path').should('contain', 'Basismodule').should('contain', 'Modellierung');
});
it('should have a collapsed path', function () {
cy.visit('/assessments/detail/02f065a6-6c02-58ab-97d9-a3febdbc91a1?token=mock');
cy.get('.breadcrumb-collapsed').click();
cy.get('ion-breadcrumb').should('have.length', 3);
});
});

View File

@@ -0,0 +1,57 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('canteen', function () {
beforeEach(function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/canteen/canteen-1.json',
}).as('search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search/multi', {
fixture: 'search/types/dish/dish-1.json',
});
});
it('should not utilize the default price', function () {
cy.visit('/data-detail/86464b64-da1e-5578-a5c4-eec23457f596');
cy.contains('4,40 €').should('not.exist');
});
it('should have a student price', function () {
cy.visit('/settings');
cy.contains('stapps-settings-item', 'Gruppe').find('ion-select').should('be.visible').click();
cy.get('ion-popover').contains('ion-item', 'Studierende').click();
cy.wait(2000);
cy.visit('/data-detail/86464b64-da1e-5578-a5c4-eec23457f596');
cy.contains('3,30 €').should('exist');
});
it('should have an employee price', function () {
cy.visit('/settings');
cy.contains('stapps-settings-item', 'Gruppe').find('ion-select').should('be.visible').click();
cy.get('ion-popover').contains('ion-item', 'Angestellte').click();
cy.wait(2000);
cy.visit('/data-detail/86464b64-da1e-5578-a5c4-eec23457f596');
cy.contains('1,10 €').should('exist');
});
it('should have a guest price', function () {
cy.visit('/settings');
cy.contains('stapps-settings-item', 'Gruppe').find('ion-select').should('be.visible').click();
cy.get('ion-popover').contains('ion-item', 'Gäste').click();
cy.wait(2000);
cy.visit('/data-detail/86464b64-da1e-5578-a5c4-eec23457f596');
cy.contains('2,20 €').should('exist');
});
});

View File

@@ -0,0 +1,27 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('catalog', function () {
it('should have path', function () {
cy.visit('/data-detail/ae3cf884-4dc4-526b-9213-6850135591ab');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/catalog/catalog-1.json',
});
cy.get('stapps-data-path').within(() => {
cy.get('ion-breadcrumb').first().should('contain', 'FB 1 - Rechtswissenschaft');
cy.get('ion-breadcrumb').last().should('contain', 'Studium der Pflichtfächer (1. bis 5. Semester)');
});
});
});

View File

@@ -0,0 +1,70 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('context menu', function () {
beforeEach(function () {
cy.visit('/search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/test.json',
}).as('search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search/multi', {
fixture: 'search/multi-result.json',
});
cy.get('ion-searchbar').type('test');
cy.wait('@search');
cy.get('ion-searchbar > ion-menu-button').click();
});
it('should sort', function () {
cy.get('stapps-context').within(() => {
cy.contains('ion-item', 'Name').click();
cy.wait('@search');
});
});
it('should filter', function () {
cy.get('stapps-context').within(() => {
cy.contains('ion-item', '(27) Akademische Veranstaltung').click();
cy.wait('@search');
});
});
it('should have a working delete button', function () {
cy.get('stapps-context').within(() => {
cy.contains('ion-item', '(27) Akademische Veranstaltung').click();
cy.get('.checkbox-checked').should('have.length', 1);
cy.contains('ion-list-header', 'Filter').find('ion-button').click();
cy.wait('@search');
cy.get('.checkbox-checked').should('have.length', 0);
});
});
it('should truncate categories', function () {
cy.get('stapps-context').within(() => {
cy.contains('ion-item', '(4) Universitätsveranstaltung').should('not.exist');
cy.get('.context-filter > ion-button').click();
cy.contains('ion-item', '(4) Universitätsveranstaltung').should('exist');
});
});
it('should truncate long category items', function () {
cy.contains('ion-list', 'Kategorien | Akademische Veranstaltung').within(() => {
cy.contains('ion-item', '(1) Tutorium').should('not.exist');
cy.get('div > ion-button').click();
cy.contains('ion-item', '(1) Tutorium').should('exist');
});
});
});

View File

@@ -0,0 +1,182 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
//import {ScheduleProvider} from '../../src/app/modules/calendar/schedule.provider';
describe('dashboard', async function () {
describe('schedule section', function () {
it('should lead to the schedule', function () {
cy.visit('/overview');
cy.get('.schedule').contains('a', 'Stundenplan').click();
cy.url().should('include', '/schedule/recurring');
cy.visit('/overview');
cy.get('.schedule').contains('a', 'Kein Eintrag gefunden').click();
cy.url().should('include', '/schedule/recurring');
});
// TODO: Reenable and stabilize tests
//it('should display the next unit', function () {
// let angular: any;
// cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
// fixture: 'search/types/date-series/date-series-1.json',
// }).as('search');
// cy.visit('/overview');
// cy.get('.schedule-item-button').should('exist');
// cy.window()
// .then(win => (angular = (win as any).ng))
// .then(() =>
// cy.get('app-dashboard').then($dashboard => {
// const appComponent = angular.getComponent($dashboard[0]);
// const scheduleProvider =
// appComponent.scheduleProvider as ScheduleProvider;
// scheduleProvider.restore(['abc']);
// }),
// );
// cy.wait('@search');
// cy.visit('/overview');
// cy.get('.schedule-item-button').should('contain', 'UNIcert (Test)');
//});
});
describe('mensa section', function () {
it('should have info when nothing is added', function () {
cy.visit('/overview');
cy.get('stapps-mensa-section').within(() => {
cy.get('swiper').should('not.exist');
cy.get('.nothing-selected > ion-label > a').should('have.text', 'Übersicht der Mensen');
});
});
it('should add a mensa', function () {
cy.clock(new Date('2022-06-08'), ['Date']);
cy.visit('/overview');
cy.get('stapps-mensa-section').find('.nothing-selected > ion-label > a').click();
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/canteen/canteen-search-result.json',
});
cy.get('stapps-favorite-button').first().click();
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search/multi', {
fixture: 'search/types/dish/dish-2.json',
});
cy.get('ion-back-button').click();
cy.get('stapps-mensa-section').find('simple-swiper > *').should('have.length.greaterThan', 1);
});
});
describe('news section', function () {
beforeEach(function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/message/message-1.json',
}).as('search');
});
// TODO: Cypress has no real way of setting the presence of a pointing device,
// which means the behavior is undefined and depends on the testing device
// it('should have desktop navigation buttons', function () {
// cy.visit('/overview');
//
// cy.get('stapps-news-section').within(function () {
// cy.get('.swiper-button').should('not.have.css', 'display: none');
// });
// });
// it('should not have desktop navigation buttons on mobile', function () {
// cy.visit('/overview');
//
// cy.get('stapps-news-section').within(function () {
// cy.get('.swiper-button').should('have.css', 'display: none');
// });
// });
it('should have working desktop navigation', function () {
cy.visit('/overview');
cy.get('stapps-news-section').within(function () {
cy.get('simple-swiper > *').eq(0).should('be.visible');
// TODO: see tests above, button will be visible or invisible
// depending on the testing device
cy.get('.swiper-button > ion-button').eq(1).click({scrollBehavior: false, force: true});
cy.get('simple-swiper > *').eq(0).should('not.be.visible');
});
});
it('should have a link to the news page', function () {
cy.visit('/overview');
cy.wait('@search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/message/single-message.json',
}).as('search');
cy.get('stapps-news-section').contains('ion-item', 'Mehr Nachrichten').click();
cy.url().should('include', '/news');
});
});
// TODO: Reenable tests after update of component
// describe('navigation section', function () {
// it('should have editable dashboard sections', function () {
// cy.visit('/overview');
// const section = 'Vorlesungsv.';
// cy.get('stapps-navigation-section').within(() => {
// cy.get('.card').should('contain.text', section);
// cy.get('ion-icon[name=edit_square]').click();
// });
// cy.get('stapps-dashboard-edit-modal').within(() => {
// cy.contains('ion-item', section).find('ion-toggle').click();
// cy.contains('ion-button', 'Bestätigen').click();
// });
// cy.get('stapps-navigation-section').within(() => {
// cy.get('.card').should('not.contain.text', section);
// cy.get('ion-icon[name=edit_square]').click({scrollBehavior: false});
// });
// cy.get('stapps-dashboard-edit-modal').within(() => {
// cy.contains('ion-item', section).find('ion-toggle').click();
// cy.contains('ion-button', 'Bestätigen').click();
// });
// cy.get('stapps-navigation-section')
// .find('.card')
// .should('contain.text', section);
// });
// });
describe('search section', function () {
it('should go to search', function () {
cy.visit('/overview');
cy.get('ion-searchbar').click({scrollBehavior: 'center'});
cy.url().should('eq', Cypress.config().baseUrl + '/search');
cy.get('ion-searchbar').should('not.have.value');
cy.get('ion-searchbar input.searchbar-input').should('have.focus');
cy.get('stapps-data-list-item').should('have.length', 0);
});
});
});

View File

@@ -0,0 +1,46 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('favorites', function () {
it('should add a favorite', function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/test.json',
}).as('search');
cy.visit('/search');
cy.get('ion-searchbar').type('test');
let text!: string;
cy.get('stapps-data-list-item')
.first()
.within(() => {
cy.get('.title')
.invoke('text')
.then(it => {
text = it;
});
cy.get('stapps-favorite-button').click();
cy.get('stapps-favorite-button > ion-button > ion-icon')
.invoke('attr', 'ng-reflect-fill')
.should('eq', 'true');
});
cy.visit('/favorites');
cy.get('stapps-data-list-item').within(() => {
cy.get('.title').should('contain', text);
cy.get('stapps-favorite-button').click();
});
cy.get('cdk-virtual-scroll-viewport').should('be.not.visible');
cy.get('stapps-data-list').contains('Keine Ergebnisse').should('be.visible');
});
});

View File

@@ -0,0 +1,33 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('feedback', function () {
it('should send feedback', function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/*').as('feedback');
cy.visit('/feedback');
cy.get('input[name=name]').type('test');
cy.get('input[name=email]').type('aaa@bbb.com');
cy.get('textarea[name=message]').type(Array.from({length: 50}, () => 'a').join(''));
cy.get('ion-button[type=submit]').should('have.attr', 'disabled');
cy.get('ion-checkbox[name=termsAgree]').click();
cy.get('ion-button[type=submit]').should('not.have.attr', 'disabled');
// cy.get('ion-button[type=submit]').click();
// cy.wait('@feedback');
});
});

View File

@@ -0,0 +1,43 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('ical', function () {
beforeEach(function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/academic-event/event-1.json',
}).as('search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search/multi', {
fixture: 'search/types/date-series/date-series-for-event-1.json',
});
});
it('should export a single event', function () {
cy.visit('/search?query=test');
cy.wait('@search');
cy.contains('ion-chip', 'Termine Auswählen').first().click();
cy.get('ion-app > ion-modal').within(() => {
cy.get('ion-footer > ion-toolbar > ion-button').should('have.attr', 'disabled');
cy.contains('ion-item', /eine Stunde um 19. Jan. 2059, \d+:00/).click();
cy.get('ion-footer > ion-toolbar > ion-button').should('not.have.attr', 'disabled');
cy.get('ion-footer > ion-toolbar > ion-button').click();
});
cy.get('add-event-review-modal').within(() => {
cy.get('ion-item-group').should('contain', 'UNIcert (Test)');
cy.contains('ion-item-group', /19. Jan. 2059, \d+:00/);
});
});
});

View File

@@ -0,0 +1,42 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('news', function () {
beforeEach(function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/message/message-1.json',
}).as('search');
});
it('should show all articles by default', function () {
cy.visit('/news');
cy.get('stapps-news-item').should('have.length', 6);
});
it('should reload on filter change', function () {
cy.visit('/news');
cy.get('stapps-news-item').should('have.length', 6);
cy.get('stapps-news-settings-filter').first().click({force: true});
cy.wait('@search');
});
it('should have an external link indicator on detail pages', function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/message/single-message.json',
}).as('search');
cy.visit('/data-detail/c90c7d30-410f-5aea-a67b-ea1f98929b93');
cy.contains('ion-card', 'Ursprünglicher Link').find('ion-icon[name="open_in_browser"]').should('exist');
});
});

View File

@@ -0,0 +1,114 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('schedule', function () {
beforeEach(function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/types/academic-event/event-1.json',
}).as('search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search/multi', {
fixture: 'search/types/date-series/date-series-for-event-1.json',
});
});
it('should respect the url', function () {
cy.visit('/schedule/calendar/2022-01-19');
cy.get('#date-select-button0').should('contain', '19.01.22');
});
it('should navigate a full page', function () {
cy.visit('/schedule/calendar/2022-01-19');
cy.get('.swiper-slide-active').should('contain', 'Mi');
cy.get('.left-button').click();
cy.wait(2000);
cy.get('.swiper-slide-active').should('contain', 'So');
cy.get('.right-button').click();
cy.wait(2000);
cy.get('.swiper-slide-active').should('contain', 'Mi');
cy.get('.right-button').click();
cy.wait(2000);
cy.get('.swiper-slide-active').should('contain', 'Sa');
});
for (const [width, count] of [
[760, 3],
[770, 3],
[1700, 7],
]) {
const slideMultiplier = 3;
it(`should have ${count} slides for ${width}px`, function () {
cy.visit('/schedule/calendar/2022-01-59');
cy.viewport(width, 550);
cy.get('.schedule-wrapper > .infinite-swiper-wrapper')
.find('.swiper-slide')
.should('have.length', slideMultiplier * count)
.first()
.invoke('outerWidth')
.should('be.gt', 140);
});
}
it('should navigate to a specific date', function () {
cy.visit('/schedule/calendar/2059-01-19');
cy.contains('#date-select-button0', '19.01.59').click();
cy.wait(2000);
cy.get('button[data-day=1][data-month=1][data-year=2059]', {
includeShadowDom: true,
}).click();
cy.wait(2000);
cy.contains('#date-select-button0', '01.01.59').click();
});
// TODO: Reenable and stabilize tests
//it('should add events', function () {
// cy.visit('/schedule/calendar/2059-01-19');
// cy.get('stapps-schedule-card').should('not.exist');
// cy.get('ion-fab-button').click();
// cy.wait(2000);
// cy.get('ion-modal').within(() => {
// cy.get('ion-searchbar').click().type('test');
// cy.contains('ion-item', 'UNIcert (Test)')
// .contains('stapps-add-event-action-chip', 'Termine Auswählen')
// .click();
// cy.wait(2000);
// });
// cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
// fixture: 'search/types/date-series/date-series-1.json',
// });
// cy.get('ion-app > ion-modal').within(() => {
// cy.contains('ion-item', /eine Stunde um 19. Jan. 2059, \d+:00/).click();
// cy.wait(2000);
// cy.contains('ion-button', 'Bestätigen').click();
// cy.wait(2000);
// });
// cy.get('ion-modal').within(() => {
// cy.contains('ion-item', 'UNIcert (Test)')
// .contains('stapps-add-event-action-chip', 'Hinzugefügt')
// .should('exist');
// cy.contains('ion-button', 'Schließen').click();
// cy.wait(2000);
// });
// cy.get('stapps-schedule-card').should('exist');
//});
});

View File

@@ -0,0 +1,50 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('search', function () {
beforeEach(function () {
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/test.json',
});
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search/multi', {
fixture: 'search/multi-result.json',
});
});
it('should have search results', function () {
cy.visit('/search');
cy.get('ion-searchbar').type('test');
cy.get('stapps-data-list-item').should('have.length.greaterThan', 1);
});
it('should display an error message when no results are found', function () {
cy.visit('/search');
cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', {
fixture: 'search/no-results.json',
});
cy.get('ion-searchbar').type(Array.from({length: 10}, () => 'a').join(''));
cy.get('stapps-data-list-item').should('have.length', 0);
cy.get('stapps-data-list').contains('Keine Ergebnisse');
});
it('should have a working clear button', function () {
cy.visit('/search');
cy.get('ion-searchbar').type('test');
cy.get('ion-searchbar').should('have.value', 'test');
cy.get('stapps-data-list-item').should('have.length.greaterThan', 1);
cy.get('.searchbar-clear-button').click();
cy.get('ion-searchbar').should('have.value', '');
});
});

View File

@@ -0,0 +1,32 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
describe('Settings Page', () => {
it('should have a proper title', () => {
cy.visit('/settings');
cy.get('ion-title').contains('Einstellungen');
});
it('should change language', () => {
cy.visit('/settings');
cy.contains('ion-select', 'Deutsch').should('be.visible').click({force: true});
cy.get('ion-popover').contains('ion-item', 'English').click();
cy.get('ion-popover').should('not.exist');
cy.get('ion-title').contains('Settings');
cy.contains('ion-select', 'English').click();
cy.get('ion-popover').contains('ion-item', 'Deutsch').click();
cy.get('ion-title').contains('Einstellungen');
});
});

View File

@@ -0,0 +1,84 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* Something akin to a.b.c a.b.C but never a... or a.AbC
*/
const probablyBadTranslationPattern = /^\s*([a-z_]+|[A-Z_]+)\.(([a-z_]+|[A-Z_]+)\.)([a-z_]+|[A-Z_]+)$/;
// TODO: Reenable and stabilize tests
//describe('translations', function () {
// for (const path of [
// 'settings',
// 'news',
// [
// 'search',
// () => {
// cy.visit('/search');
// cy.get('ion-searchbar').type('test');
// cy.get('stapps-data-list-item').should('have.length.greaterThan', 1);
// },
// ],
// [
// 'context-menu',
// () => {
// cy.visit('/search');
// cy.get('ion-searchbar').type('test');
// cy.get('stapps-data-list-item').should('have.length.greaterThan', 1);
// cy.get('ion-menu-button[menu=context]').click();
// cy.get('stapps-context');
// },
// ],
// 'map',
// 'feedback',
// 'about',
// 'canteen',
// 'catalog',
// 'schedule',
// 'dashboard',
// [
// 'schedule add modal',
// () => {
// cy.visit('/schedule');
// cy.get('ion-fab').click();
// cy.get('ion-modal');
// },
// ],
// 'profile',
// 'favorites',
// ] as [string, () => void][]) {
// const name = Array.isArray(path) ? path[0] : path;
// const method = Array.isArray(path) ? path[1] : undefined;
//
// describe(name, function () {
// it('should not contain failed translation paths', function () {
// if (method) {
// method();
// } else {
// cy.visit(`/${path}`);
// }
//
// cy.wait(500);
//
// cy.get('ion-app *').each($element => {
// const text = $element.text();
// if (text) {
// expect(text).not.to.match(probablyBadTranslationPattern);
// }
// });
// });
// });
// }
//});

View File

@@ -0,0 +1,43 @@
// ***********************************************
// This example namespace declaration will help
// with Intellisense and code completion in your
// IDE or Text Editor.
// ***********************************************
// declare namespace Cypress {
// interface Chainable<Subject = any> {
// customCommand(param: any): typeof customCommand;
// }
// }
//
// function customCommand(param: any): void {
// console.warn(param);
// }
//
// NOTE: You can use it like so:
// Cypress.Commands.add('customCommand', customCommand);
//
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add("login", (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })

View File

@@ -0,0 +1,68 @@
/*
* Copyright (C) 2023 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// When a command from ./commands is ready to use, import with `import './commands'` syntax
// import './commands';
beforeEach(async function () {
let databases: string[];
if (window.indexedDB.databases) {
databases = (await window.indexedDB.databases()).map(it => it.name);
console.log('Trying to clear all databases');
} else {
console.log("Browser doesn't support database enumeration, deleting just ionic storage");
databases = ['_ionicstorage'];
}
for (const database of databases) {
if (database) {
console.log(`Deleting database ${database}`);
await new Promise(resolve => (window.indexedDB.deleteDatabase(database).onsuccess = resolve));
console.log(`Deleted database ${database}`);
}
}
});
Cypress.on('window:before:load', window => {
// Fake that user is using its browser in german language
Object.defineProperty(window.navigator, 'language', {value: 'de-DE'});
Object.defineProperty(window.navigator, 'languages', [{value: 'de-DE'}]);
// Fail tests on console error
cy.stub(window.console, 'error').callsFake(message => {
// log out to the terminal
cy.now('task', 'error', message);
// log to Command Log and fail the test
throw new Error(message);
});
});
Cypress.on('uncaught:exception', error => {
return !error.message.includes('ResizeObserver loop limit exceeded');
});

View File

@@ -0,0 +1,8 @@
{
"extends": "../tsconfig.json",
"include": ["**/*.ts"],
"compilerOptions": {
"sourceMap": false,
"types": ["cypress"]
}
}