feat(web): migrate course adjustment workflow
This commit is contained in:
1 parent
b0943bb5f8
commit
522c16bb80
8 files changed
+209
-1
No files matched your search
@@ -6,11 +6,46 @@ using Jiaowu.Api.Infrastructure.Persistence;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Jiaowu.Api.Tests;
|
||||
|
||||
public sealed class CourseAdjustmentsControllerTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task TeacherOptions_ReturnOnlyActiveNonArchivedTeachers()
|
||||
{
|
||||
await using var fixture = await Fixture.CreateAsync();
|
||||
var collegeId = await fixture.Db.Courses.Select(x => x.CollegeId).SingleAsync();
|
||||
fixture.Db.Teachers.AddRange(
|
||||
new Teacher
|
||||
{
|
||||
TeacherNumber = "T002",
|
||||
Name = "离职教师",
|
||||
CollegeId = collegeId,
|
||||
Status = TeacherStatus.Retired
|
||||
},
|
||||
new Teacher
|
||||
{
|
||||
TeacherNumber = "T003",
|
||||
Name = "归档教师",
|
||||
CollegeId = collegeId,
|
||||
IsArchived = true
|
||||
});
|
||||
await fixture.Db.SaveChangesAsync();
|
||||
|
||||
var controller = new CourseAdjustmentsController(
|
||||
fixture.Db,
|
||||
new TestScope(fixture.TeacherUserId, DataScope.Self, SystemRoles.Teacher));
|
||||
var result = await controller.GetTeacherOptions(CancellationToken.None);
|
||||
|
||||
var ok = Assert.IsType<OkObjectResult>(result);
|
||||
var json = JsonSerializer.Serialize(ok.Value);
|
||||
Assert.Contains("T001", json);
|
||||
Assert.DoesNotContain("T002", json);
|
||||
Assert.DoesNotContain("T003", json);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Reschedule_MovesOnlyTheSelectedOccurrence()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user