修复教师实验管理页的可见性问题
This commit is contained in:
1 parent
0b63d31e67
commit
7db082639c
2 files changed
+37
-4
No files matched your search
@@ -7,11 +7,45 @@ using Jiaowu.Api.Infrastructure.Timetables;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Jiaowu.Api.Tests;
|
||||
|
||||
public sealed class ExperimentsControllerTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task TeacherManagement_ListsOwnDraftAndPublishedProjectsWithoutSessionInstructorBinding()
|
||||
{
|
||||
await using var fixture = await ExperimentFixture.CreateAsync();
|
||||
var teacherScope = new FixedScope(new CurrentUserScope(
|
||||
fixture.ManagerScope.Current.UserId,
|
||||
fixture.ManagerScope.Current.DisplayName,
|
||||
fixture.ManagerScope.Current.CollegeId,
|
||||
DataScope.Self,
|
||||
new HashSet<string>([SystemRoles.Teacher])));
|
||||
var controller = fixture.Controller(teacherScope);
|
||||
|
||||
Assert.IsType<CreatedResult>(await controller.CreateProject(
|
||||
fixture.ProjectRequest(ExperimentArrangementMode.SelfScheduled),
|
||||
CancellationToken.None));
|
||||
Assert.IsType<CreatedResult>(await controller.CreateProject(
|
||||
fixture.ProjectRequest(ExperimentArrangementMode.Centralized),
|
||||
CancellationToken.None));
|
||||
var centralized = await fixture.Db.ExperimentProjects.SingleAsync(x =>
|
||||
x.ArrangementMode == ExperimentArrangementMode.Centralized);
|
||||
Assert.IsType<NoContentResult>(await controller.PublishProject(
|
||||
centralized.Id, CancellationToken.None));
|
||||
|
||||
var result = Assert.IsType<OkObjectResult>(
|
||||
await controller.GetManagementProjects(
|
||||
null, null, null, null, null, null, null, null,
|
||||
CancellationToken.None));
|
||||
using var response = JsonDocument.Parse(JsonSerializer.Serialize(result.Value));
|
||||
|
||||
Assert.Equal(1, response.RootElement.GetProperty("Total").GetInt32());
|
||||
Assert.Equal(2, response.RootElement.GetProperty("Items").GetArrayLength());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task BatchProjects_CreateSameDefinitionForSameCourseTasks()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user