tacticsSteps, teams and members ef console tests
continuous-integration/drone/push Build is passing Details

consoleTests
Vivien DUFOUR 1 year ago
parent 9f2e9c0996
commit a93dcb9975

@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

@ -0,0 +1,3 @@
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

@ -0,0 +1,88 @@
using System;
using System.Linq;
using AppContext.Entities;
using Model;
namespace EFConsole
{
public class MembersConsole
{
public static void TestAddMember(AppContext.AppContext db)
{
var newMember = new MemberEntity
{
TeamId = 1,
UserId = 1,
Role = MemberRole.Player
};
db.Members.Add(newMember);
db.SaveChanges();
Console.WriteLine("Membre ajouté avec succès !");
}
public static void TestGetAllMembers(AppContext.AppContext db)
{
var members = db.Members.ToList();
Console.WriteLine("Liste des membres :");
foreach (var member in members)
{
Console.WriteLine($"ID Équipe : {member.TeamId}, ID Utilisateur : {member.UserId}, Rôle : {member.Role}");
}
}
public static void TestGetMembersByTeamId(AppContext.AppContext db, int teamId)
{
var members = db.Members.Where(m => m.TeamId == teamId).ToList();
Console.WriteLine($"Membres de l'équipe avec ID {teamId} :");
foreach (var member in members)
{
Console.WriteLine($"ID Équipe : {member.TeamId}, ID Utilisateur : {member.UserId}, Rôle : {member.Role}");
}
}
public static void TestGetMembersByUserId(AppContext.AppContext db, int userId)
{
var members = db.Members.Where(m => m.UserId == userId).ToList();
Console.WriteLine($"Membres associés à l'utilisateur avec ID {userId} :");
foreach (var member in members)
{
Console.WriteLine($"ID Équipe : {member.TeamId}, ID Utilisateur : {member.UserId}, Rôle : {member.Role}");
}
}
public static void TestUpdateMemberRole(AppContext.AppContext db, int teamId, int memberId, MemberRole newRole)
{
var memberToUpdate = db.Members.FirstOrDefault(m => m.TeamId == teamId && m.UserId == memberId); // Trouver le membre dans l'équipe spécifiée
if (memberToUpdate != null)
{
memberToUpdate.Role = newRole;
db.SaveChanges();
Console.WriteLine("Rôle du membre mis à jour avec succès !");
}
else
{
Console.WriteLine($"Aucun membre trouvé dans l'équipe avec l'ID {teamId} et l'ID utilisateur {memberId}.");
}
}
public static void TestRemoveMember(AppContext.AppContext db, int teamId, int memberId)
{
var memberToDelete = db.Members.FirstOrDefault(m => m.TeamId == teamId && m.UserId == memberId); // Trouver le membre dans l'équipe spécifiée
if (memberToDelete != null)
{
db.Members.Remove(memberToDelete); // Supprimer le membre
db.SaveChanges();
Console.WriteLine("Membre supprimé avec succès !");
}
else
{
Console.WriteLine($"Aucun membre trouvé dans l'équipe avec l'ID {teamId} et l'ID utilisateur {memberId} pour la suppression.");
}
}
}
}

@ -1,4 +1,5 @@
using StubContext; using Model;
using StubContext;
namespace EFConsole namespace EFConsole
{ {
@ -14,7 +15,9 @@ namespace EFConsole
{ {
TestUserMethods(db); TestUserMethods(db);
TestTacticMethods(db); TestTacticMethods(db);
db.SaveChanges(); TestTeamMethods(db);
TestMemberMethods(db);
TestTacticsStepMethods(db);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -50,5 +53,33 @@ namespace EFConsole
TacticsConsole.TestGetTacticsByOwner(db, 1); TacticsConsole.TestGetTacticsByOwner(db, 1);
} }
static void TestTeamMethods(AppContext.AppContext db)
{
TeamsConsole.TestAddTeam(db);
TeamsConsole.TestGetAllTeams(db);
TeamsConsole.TestGetTeamMembers(db, 1);
TeamsConsole.TestUpdateTeam(db, 1, "Nouveau nom", "Nouvelle image", "#FF0000", "#00FF00");
TeamsConsole.TestDeleteTeam(db, 1);
}
static void TestMemberMethods(AppContext.AppContext db)
{
MembersConsole.TestAddMember(db);
MembersConsole.TestGetAllMembers(db);
MembersConsole.TestGetMembersByTeamId(db, 1);
MembersConsole.TestGetMembersByUserId(db, 1);
MembersConsole.TestUpdateMemberRole(db, 1, 1, MemberRole.Coach);
MembersConsole.TestRemoveMember(db, 1, 1);
}
static void TestTacticsStepMethods(AppContext.AppContext db)
{
TacticsStepConsole.TestAddTacticStep(db);
TacticsStepConsole.TestGetAllTacticSteps(db);
TacticsStepConsole.TestGetTacticStepsByTacticId(db, 1);
TacticsStepConsole.TestUpdateTacticStepContent(db, 1, "test content");
TacticsStepConsole.TestDeleteTacticStep(db, 1);
}
} }
} }

@ -0,0 +1,75 @@
using System;
using System.Linq;
using AppContext.Entities;
using Model;
namespace EFConsole
{
public class TacticsStepConsole
{
public static void TestAddTacticStep(AppContext.AppContext db)
{
var newTacticStep = new TacticStepEntity
{
ParentId = 1,
TacticId = 1,
JsonContent = "{}"
};
db.TacticSteps.Add(newTacticStep);
db.SaveChanges();
Console.WriteLine("Étape de tactique ajoutée avec succès !");
}
public static void TestGetAllTacticSteps(AppContext.AppContext db)
{
var tacticSteps = db.TacticSteps.ToList();
Console.WriteLine("Liste des étapes de tactique :");
foreach (var tacticStep in tacticSteps)
{
Console.WriteLine($"ID : {tacticStep.Id}, ID Tactique : {tacticStep.TacticId}, Contenu JSON : {tacticStep.JsonContent}");
}
}
public static void TestGetTacticStepsByTacticId(AppContext.AppContext db, int tacticId)
{
var tacticSteps = db.TacticSteps.Where(ts => ts.TacticId == tacticId).ToList();
Console.WriteLine($"Étapes de tactique pour la tactique avec l'ID {tacticId} :");
foreach (var tacticStep in tacticSteps)
{
Console.WriteLine($"ID : {tacticStep.Id}, ID Tactique : {tacticStep.TacticId}, Contenu JSON : {tacticStep.JsonContent}");
}
}
public static void TestUpdateTacticStepContent(AppContext.AppContext db, int tacticStepId, string newContent)
{
var tacticStepToUpdate = db.TacticSteps.FirstOrDefault(ts => ts.Id == tacticStepId);
if (tacticStepToUpdate != null)
{
tacticStepToUpdate.JsonContent = newContent;
db.SaveChanges();
Console.WriteLine("Contenu de l'étape de tactique mis à jour avec succès !");
}
else
{
Console.WriteLine($"Aucune étape de tactique trouvée avec l'ID {tacticStepId} pour la mise à jour du contenu.");
}
}
public static void TestDeleteTacticStep(AppContext.AppContext db, int tacticStepId)
{
var tacticStepToDelete = db.TacticSteps.FirstOrDefault(ts => ts.Id == tacticStepId);
if (tacticStepToDelete != null)
{
db.TacticSteps.Remove(tacticStepToDelete);
db.SaveChanges();
Console.WriteLine("Étape de tactique supprimée avec succès !");
}
else
{
Console.WriteLine($"Aucune étape de tactique trouvée avec l'ID {tacticStepId} pour la suppression.");
}
}
}
}

@ -0,0 +1,85 @@
using System;
using System.Linq;
using AppContext.Entities;
namespace EFConsole
{
class TeamsConsole
{
internal static void TestAddTeam(AppContext.AppContext db)
{
var newTeam = new TeamEntity
{
Name = "Nouvelle équipe",
Picture = "https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png",
MainColor = "#0000FF",
SecondColor = "#FFFFFF"
};
db.Teams.Add(newTeam);
db.SaveChanges();
Console.WriteLine("Équipe ajoutée avec succès !");
}
internal static void TestGetAllTeams(AppContext.AppContext db)
{
var teams = db.Teams.ToList();
Console.WriteLine("Liste des équipes :");
foreach (var team in teams)
{
Console.WriteLine($"ID : {team.Id}, Nom : {team.Name}, Image : {team.Picture}, Couleur principale : {team.MainColor}, Couleur secondaire : {team.SecondColor}");
}
}
internal static void TestGetTeamMembers(AppContext.AppContext db, int teamId)
{
var team = db.Teams.FirstOrDefault(t => t.Id == teamId);
if (team != null)
{
Console.WriteLine($"Membres de l'équipe '{team.Name}' :");
foreach (var member in team.Members)
{
Console.WriteLine($"ID : {member.UserId}, Nom : {member.User?.Name}, Rôle : {member.Role}");
}
}
else
{
Console.WriteLine($"Aucune équipe trouvée avec l'ID : {teamId}");
}
}
internal static void TestUpdateTeam(AppContext.AppContext db, int teamId, string newName, string newPicture, string newMainColor, string newSecondColor)
{
var teamToUpdate = db.Teams.FirstOrDefault(t => t.Id == teamId);
if (teamToUpdate != null)
{
teamToUpdate.Name = newName;
teamToUpdate.Picture = newPicture;
teamToUpdate.MainColor = newMainColor;
teamToUpdate.SecondColor = newSecondColor;
db.SaveChanges();
Console.WriteLine("Équipe mise à jour avec succès !");
}
else
{
Console.WriteLine($"Aucune équipe trouvée avec l'ID : {teamId}");
}
}
internal static void TestDeleteTeam(AppContext.AppContext db, int teamId)
{
var teamToDelete = db.Teams.FirstOrDefault(t => t.Id == teamId);
if (teamToDelete != null)
{
db.Teams.Remove(teamToDelete);
db.SaveChanges();
Console.WriteLine("Équipe supprimée avec succès !");
}
else
{
Console.WriteLine($"Aucune équipe trouvée avec l'ID : {teamId}");
}
}
}
}

@ -18,6 +18,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\Unit
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EFConsole", "EFConsole\EFConsole.csproj", "{DC9ACDB3-83BC-4DF2-84C7-070361648975}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EFConsole", "EFConsole\EFConsole.csproj", "{DC9ACDB3-83BC-4DF2-84C7-070361648975}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "APIConsole", "APIConsole\APIConsole.csproj", "{B01BD72E-15D3-4DC6-8DAC-2270A01129A9}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@ -68,5 +70,9 @@ Global
{DC9ACDB3-83BC-4DF2-84C7-070361648975}.Debug|Any CPU.Build.0 = Debug|Any CPU {DC9ACDB3-83BC-4DF2-84C7-070361648975}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DC9ACDB3-83BC-4DF2-84C7-070361648975}.Release|Any CPU.ActiveCfg = Release|Any CPU {DC9ACDB3-83BC-4DF2-84C7-070361648975}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DC9ACDB3-83BC-4DF2-84C7-070361648975}.Release|Any CPU.Build.0 = Release|Any CPU {DC9ACDB3-83BC-4DF2-84C7-070361648975}.Release|Any CPU.Build.0 = Release|Any CPU
{B01BD72E-15D3-4DC6-8DAC-2270A01129A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B01BD72E-15D3-4DC6-8DAC-2270A01129A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B01BD72E-15D3-4DC6-8DAC-2270A01129A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B01BD72E-15D3-4DC6-8DAC-2270A01129A9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

Loading…
Cancel
Save