You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dotnet-WebAPI/UnitTests/UserControllerTest.cs

53 lines
1.7 KiB

using API.Controllers;
using API.DTO;
using DbServices;
using FluentAssertions;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Model;
using StubContext;
namespace UnitTests;
public class UsersControllerTest
{
private static UsersController GetUserController(int userId)
{
var connection = new SqliteConnection("Data Source=:memory:");
connection.Open();
var context = new StubAppContext(
new DbContextOptionsBuilder<AppContext.AppContext>()
.UseSqlite(connection)
.Options
);
context.Database.EnsureCreated();
var controller = new UsersController(
new DbUserService(context),
new DbTeamService(context),
new DbTacticService(context),
new ManualContextAccessor(userId)
);
return controller;
}
[Fact]
public async void GetCurrentUserTest()
{
var controller = GetUserController(1);
var result = await controller.GetUser();
result.Should().BeEquivalentTo(new User(1, "maxime", "maxime@mail.com",
UsersController.DefaultProfilePicture, true));
}
[Fact]
public async void GetUserDataTest()
{
var controller = GetUserController(1);
var result = await controller.GetUserData();
// result.Should().BeEquivalentTo(new UsersController.GetUserDataResponse(
// [new Team(1, "Lakers", "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/Los_Angeles_Lakers_logo.svg/2560px-Los_Angeles_Lakers_logo.svg.png", "#FFFFFF", "#000000")],
// [new TacticDto(1, "New tactic", 1, "PLAIN", 1717106400000L)]
// ));
}
}