mirror of
https://github.com/XFox111/GUTSchedule.git
synced 2026-04-22 06:58:01 +03:00
6c475dd621
Cabinet authorization has been turned on Occupation check in functionality
76 lines
2.4 KiB
C#
76 lines
2.4 KiB
C#
using NUnit.Framework;
|
|
using System.Threading.Tasks;
|
|
using GUTSchedule.Models;
|
|
using System;
|
|
using Newtonsoft.Json;
|
|
using System.IO;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace GUTSchedule.Test
|
|
{
|
|
public class CabinetScheduleUnitTest
|
|
{
|
|
[Test]
|
|
public async Task ScheduleListTest()
|
|
{
|
|
JObject secrets = JsonConvert.DeserializeObject(File.ReadAllText(Directory.GetCurrentDirectory() + "\\TestCredential.json")) as JObject;
|
|
var list = await Parser.GetSchedule(new CabinetExportParameters
|
|
{
|
|
Email = secrets["testEmail"].ToObject<string>(),
|
|
Password = secrets["testPassword"].ToObject<string>(),
|
|
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);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public async Task OccupationsCheckTest()
|
|
{
|
|
JObject secrets = JsonConvert.DeserializeObject(File.ReadAllText(Directory.GetCurrentDirectory() + "\\TestCredential.json")) as JObject;
|
|
var list = await Parser.CheckAvailableOccupations(secrets["testEmail"].ToObject<string>(), secrets["testPassword"].ToObject<string>());
|
|
|
|
Assert.IsNotNull(list);
|
|
if (list.Count < 1)
|
|
{
|
|
Assert.Warn("No available occupations");
|
|
return;
|
|
}
|
|
|
|
Console.WriteLine("Available occupations:");
|
|
list.ForEach(i => Console.WriteLine($"{i.Item1} / {i.Item2}"));
|
|
}
|
|
|
|
[Test]
|
|
public async Task ApplyForOccupationsTest()
|
|
{
|
|
JObject secrets = JsonConvert.DeserializeObject(File.ReadAllText(Directory.GetCurrentDirectory() + "\\TestCredential.json")) as JObject;
|
|
var list = await Parser.CheckAvailableOccupations(secrets["testEmail"].ToObject<string>(), secrets["testPassword"].ToObject<string>());
|
|
|
|
Assert.IsNotNull(list);
|
|
if (list.Count < 1)
|
|
{
|
|
Assert.Warn("No available occupations to test");
|
|
return;
|
|
}
|
|
|
|
Console.WriteLine("Available occupations:");
|
|
list.ForEach(i => Console.WriteLine($"{i.Item1} / {i.Item2}"));
|
|
|
|
await Parser.ApplyForOccupations(secrets["testEmail"].ToObject<string>(), secrets["testPassword"].ToObject<string>(), list);
|
|
}
|
|
}
|
|
} |