diff check

This commit is contained in:
2024-05-06 23:08:21 -06:00
parent 3aaf64d3a0
commit c4cd65ca19
3 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,297 @@
using LocalModels;
public class CourseDifferencesDeletionsTests
{
[Fact]
public void SameModuleDoesNotGetDeleted()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module"
}]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module"
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.NamesOfModulesToDeleteCompletely.Should().BeEmpty();
}
[Fact]
public void ChangedModule_OldOneGetsDeleted()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module"
}
]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module 2"
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.NamesOfModulesToDeleteCompletely.Count().Should().Be(1);
differences.NamesOfModulesToDeleteCompletely.First().Should().Be("test module");
}
[Fact]
public void newAssignmentNameGetsDeleted()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module",
Assignments = [
new()
{
Name = "test assignment"
}
]
}
]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module",
Assignments = [
new()
{
Name = "test assignment changed name"
}
]
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.NamesOfModulesToDeleteCompletely.Should().BeEmpty();
differences.DeleteContentsOfModule.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Assignments.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Assignments.First().Name.Should().Be("test assignment");
}
[Fact]
public void AssignmentsWithChangedDescriptionsDoNotGetDeleted()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module",
Assignments = [
new()
{
Name = "test assignment",
Description = "test description",
}
]
}
]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module",
Assignments = [
new()
{
Name = "test assignment",
Description = "test description",
}
]
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.DeleteContentsOfModule.Should().BeEmpty();
}
[Fact]
public void CanDetectChangedAndUnchangedAssignments()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module",
Assignments = [
new()
{
Name = "test assignment",
Description = "test description",
},
new()
{
Name = "test assignment 2",
Description = "test description",
}
]
}
]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module",
Assignments = [
new()
{
Name = "test assignment",
Description = "test description",
},
new()
{
Name = "test assignment 2 changed",
Description = "test description",
}
]
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.DeleteContentsOfModule.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Assignments.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Assignments.First().Name.Should().Be("test assignment 2");
}
[Fact]
public void ChangedQuizzesGetDeleted()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module",
Quizzes = [
new()
{
Name = "Test Quiz",
Description = "test description"
},
new()
{
Name = "Test Quiz 2",
Description = "test description"
}
]
}
]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module",
Quizzes = [
new()
{
Name = "Test Quiz",
Description = "test description"
},
new()
{
Name = "Test Quiz 3",
Description = "test description"
}
]
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.DeleteContentsOfModule.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Quizzes.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Quizzes.First().Name.Should().Be("Test Quiz 2");
}
[Fact]
public void ChangedPagesGetDeleted()
{
LocalCourse oldCourse = new()
{
Settings = new() { },
Modules = [
new()
{
Name = "test module",
Pages = [
new()
{
Name = "Test Page",
Text = "test contents"
},
new()
{
Name = "Test Page 2",
Text = "test contents"
},
]
}
]
};
LocalCourse newCourse = oldCourse with
{
Modules = [
new()
{
Name = "test module",
Pages = [
new()
{
Name = "Test Page",
Text = "test contents"
},
new()
{
Name = "Test Page 3",
Text = "test contents"
},
]
}]
};
var differences = CourseDifferences.GetDeletedChanges(newCourse, oldCourse);
differences.DeleteContentsOfModule.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Pages.Count().Should().Be(1);
differences.DeleteContentsOfModule.First().Pages.First().Name.Should().Be("Test Page 2");
}
}