Kapitel 7 abgeschlossen.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user