51 lines
1.7 KiB
C#
51 lines
1.7 KiB
C#
using LehrerApp.Core.Models;
|
|
using LehrerApp.Desktop.ViewModels.Students;
|
|
using Xunit;
|
|
|
|
namespace LehrerApp.Desktop.Tests;
|
|
|
|
public class ManageStudentDialogViewModelTests
|
|
{
|
|
[Fact]
|
|
public void VerknuepfteDatenSperrenEndgueltigesLoeschenAberNichtDeaktivieren()
|
|
{
|
|
var student = new Student { FirstName = "Anna", LastName = "Beispiel" };
|
|
var students = new FakeStudents([student]);
|
|
students.SetReferenceSummary(student.Id, new StudentReferenceSummary(1, 2, 0, 0, 3, 1));
|
|
var vm = new ManageStudentDialogViewModel(students, student);
|
|
|
|
Assert.False(vm.CanDelete);
|
|
Assert.Equal(4, vm.ReferenceItems.Count);
|
|
|
|
vm.DeactivateCommand.Execute(null);
|
|
|
|
Assert.False(student.IsActive);
|
|
Assert.Equal(StudentManagementResult.Deactivated, vm.Result);
|
|
}
|
|
|
|
[Fact]
|
|
public void UnverknuepfterSchuelerKannEndgueltigGeloeschtWerden()
|
|
{
|
|
var student = new Student { FirstName = "Anna", LastName = "Beispiel" };
|
|
var students = new FakeStudents([student]);
|
|
var vm = new ManageStudentDialogViewModel(students, student);
|
|
|
|
vm.DeletePermanentlyCommand.Execute(null);
|
|
|
|
Assert.Equal(StudentManagementResult.Deleted, vm.Result);
|
|
Assert.Null(students.GetById(student.Id));
|
|
}
|
|
|
|
[Fact]
|
|
public void DeaktivierterSchuelerKannWiederAktiviertWerden()
|
|
{
|
|
var student = new Student { FirstName = "Anna", LastName = "Beispiel", IsActive = false };
|
|
var vm = new ManageStudentDialogViewModel(new FakeStudents([student]), student);
|
|
|
|
vm.ReactivateCommand.Execute(null);
|
|
|
|
Assert.True(student.IsActive);
|
|
Assert.Equal(StudentManagementResult.Reactivated, vm.Result);
|
|
}
|
|
}
|