1
0
mirror of https://github.com/XFox111/GUTSchedule.git synced 2026-04-22 06:58:01 +03:00
Files
GUTSchedule/GUT.Schedule/GUTSchedule.Test/AnonymousScheduleUnitTest.cs
T
Michael Gordeev a07cb6fd3e Parser improvements and fixes, Tests (#23)
* Added unit tests, fixed and improved parser

* Updated translation files

* Updated unit tests to work with credentials

* Updated validation CI config

* Updated changelogs, improved CI/CD processes
2020-04-20 17:51:42 +03:00

96 lines
2.4 KiB
C#

using System;
using System.Threading.Tasks;
using GUTSchedule.Models;
using NUnit.Framework;
namespace GUTSchedule.Test
{
public class AnonymousScheduleUnitTest
{
[Test]
public async Task FacultiesListTest()
{
var list = await Parser.GetFaculties();
Assert.IsNotNull(list);
Assert.IsTrue(list.Count > 0);
Console.WriteLine("Faculties list:");
list.ForEach(i =>
Console.WriteLine($"{i.name} ({i.id})"));
}
[Test]
public async Task GroupListTest()
{
var faculties = await Parser.GetFaculties();
if (faculties == null || faculties.Count < 1)
{
Assert.Warn("No faculties found");
return;
}
var (id, name) = faculties[new Random().Next(0, faculties.Count)];
Console.WriteLine($"Randomly selected faculty: {name} ({id})");
var list = await Parser.GetGroups(id);
Assert.IsNotNull(list);
Assert.IsTrue(list.Count > 0);
Console.WriteLine("Groups list:");
list.ForEach(i =>
Console.WriteLine($"{i.name} ({i.id})"));
}
[Test]
public async Task ScheduleListTest()
{
var faculties = await Parser.GetFaculties();
if (faculties == null || faculties.Count < 1)
{
Assert.Warn("No faculties found");
return;
}
var faculty = faculties[new Random().Next(0, faculties.Count)];
Console.WriteLine($"Randomly selected faculty: {faculty.name} ({faculty.id})");
var groups = await Parser.GetGroups(faculty.id);
if (groups == null || groups.Count < 1)
{
Assert.Warn("No groups found");
return;
}
var group = groups[new Random().Next(0, groups.Count)];
Console.WriteLine($"Randomly selected group: {group.name} ({group.id})");
try
{
var list = await Parser.GetSchedule(new DefaultExportParameters
{
Course = "0",
FacultyId = faculty.id,
GroupId = group.id,
EndDate = DateTime.Today.AddDays(7),
StartDate = DateTime.Today
});
Assert.IsNotNull(list);
Assert.IsTrue(list.Count > 0);
Console.WriteLine("Events list:");
foreach (var i in list)
{
Console.WriteLine("--------------------------------------------------");
Console.WriteLine($"[{i.Group}] {i.Order}. {i.Name} ({i.Type})");
Console.WriteLine(i.Cabinet);
Console.WriteLine(i.StartTime.ToShortDateString());
Console.WriteLine($"{i.StartTime.ToShortTimeString()}-{i.EndTime.ToShortTimeString()}");
Console.WriteLine(i.Opponent);
}
}
catch (NullReferenceException e)
{
Assert.Warn(e.Message);
}
}
}
}