Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }