public async Task ExecuteShouldReturnErrorMessageGroupNotFound() { SchoolManagementContext context = new ContextBuilder().BuildClean(); Query query = new Query { GroupId = 2 }; DataResult <UpdateViewModel> dataResult = await new QueryHandler(context).Handle(query, CancellationToken.None); dataResult.Status.Should().Be(DataResult.ResultStatus.Error, "all parameters are corrected"); dataResult.Message.Should().Be(PolishReadableMessage.GroupClass.NotFound); }
public async Task ExecuteShouldReturnUpdateViewModelForEdit() { SchoolManagementContext context = new ContextBuilder().BuildClean(); new RoleBuilder(context).WithName(Roles.Anchor).BuildAndSave(); new RoleBuilder(context).WithName(Roles.Participant).BuildAndSave(); GroupClass groupClass = CreateGroupClass(context, "*****@*****.**"); var expectedAnchors = groupClass.Anchors.Select(x => x.UserId).ToList(); var expectedParticipant = groupClass.Participants.Select(x => new ParticipantDto() { Id = x.UserId, Name = $"{x.User.FirstName} {x.User.LastName}", Role = x.Role, }).OrderBy(x => x.Name); var cmd = new Query() { GroupId = groupClass.Id, UtcOffsetInMinutes = 0 }; DataResult <UpdateViewModel> result = await new QueryHandler(context).Handle(cmd, CancellationToken.None); result.Status.Should().Be(DataResult.ResultStatus.Success, "all parameters are corrected"); UpdateViewModel updateViewModel = result.Data; updateViewModel.Should().NotBeNull(); updateViewModel.IsEdit.Should().BeTrue(); updateViewModel.Anchors.Should().NotBeEmpty() .And.Contain(expectedAnchors); updateViewModel.Participants.Should().NotBeEmpty() .And .Contain(x => expectedParticipant.Contains(x)); updateViewModel.DayOfWeeks.Should().NotBeNullOrEmpty().And.HaveCount(4); updateViewModel.DayOfWeeks[0].BeginTime.Should().Be(new TimeSpan(18, 0, 0)); updateViewModel.DayOfWeeks[0].DayOfWeek.Should().Be(DayOfWeek.Monday); updateViewModel.Start.Should().Be(new DateTime(2019, 09, 02, 0, 0, 0)); updateViewModel.DurationTimeInMinutes.Should().Be(90); updateViewModel.NumberOfClasses.Should().Be(24); }