ProjectLighthouse/ProjectLighthouse.Tests/Tests/SlotTests.cs
2021-11-08 13:33:51 -05:00

71 lines
No EOL
2.2 KiB
C#

using System.Threading.Tasks;
using LBPUnion.ProjectLighthouse.Types;
using LBPUnion.ProjectLighthouse.Types.Levels;
using LBPUnion.ProjectLighthouse.Types.Profiles;
using Xunit;
namespace LBPUnion.ProjectLighthouse.Tests
{
public class SlotTests : LighthouseTest
{
[DatabaseFact]
public async Task ShouldOnlyShowUsersLevels()
{
await using Database database = new();
User userA = await database.CreateUser("unitTestUser0");
User userB = await database.CreateUser("unitTestUser1");
Location l = new();
database.Locations.Add(l);
await database.SaveChangesAsync();
Slot slotA = new()
{
Creator = userA,
Name = "slotA",
Location = l,
LocationId = l.Id,
ResourceCollection = "",
};
Slot slotB = new()
{
Creator = userB,
Name = "slotB",
Location = l,
LocationId = l.Id,
ResourceCollection = "",
};
database.Slots.Add(slotA);
database.Slots.Add(slotB);
await database.SaveChangesAsync();
// XmlSerializer serializer = new(typeof(Slot));
// Slot slot = (Slot)serializer.Deserialize(new StringReader(bodyString));
LoginResult loginResult = await this.Authenticate();
string respA = await (await this.AuthenticatedRequest("LITTLEBIGPLANETPS3_XML/slots/by?u=unitTestUser0", loginResult.AuthTicket)).Content
.ReadAsStringAsync();
string respB = await (await this.AuthenticatedRequest("LITTLEBIGPLANETPS3_XML/slots/by?u=unitTestUser1", loginResult.AuthTicket)).Content
.ReadAsStringAsync();
Assert.NotEqual(respA, respB);
Assert.DoesNotContain(respA, "slotB");
Assert.DoesNotContain(respB, "slotA");
// Cleanup
database.Slots.Remove(slotA);
database.Slots.Remove(slotB);
database.Users.Remove(userA);
database.Users.Remove(userB);
await database.SaveChangesAsync();
}
}
}