public void RemoveGroupDelegate_should_call_remove_progress_but_keep_started_enrolments_if_unchecked()
        {
            // Given
            var model = new RemoveGroupDelegateViewModel
            {
                ConfirmRemovalFromGroup = true, RemoveStartedEnrolments = false
            };

            const int groupId    = 44;
            const int delegateId = 3274;

            A.CallTo(() => groupsService.GetGroupName(groupId, 2)).Returns("Group");
            A.CallTo(() => groupsService.GetGroupDelegates(groupId))
            .Returns(new List <GroupDelegate> {
                new GroupDelegate {
                    DelegateId = delegateId
                }
            });
            A.CallTo(
                () => groupsService.RemoveDelegateFromGroup(groupId, delegateId, model.RemoveStartedEnrolments)
                ).DoesNothing();

            // When
            var result = groupDelegatesController.RemoveGroupDelegate(model, groupId, delegateId);

            // Then
            using (new AssertionScope())
            {
                A.CallTo(
                    () => groupsService.RemoveDelegateFromGroup(groupId, delegateId, model.RemoveStartedEnrolments)
                    ).MustHaveHappened();
                result.Should().BeRedirectToActionResult().WithActionName("Index");
            }
        }
        public void RemoveGroupDelegate_should_call_remove_progress_if_checked()
        {
            // Given
            var model = new RemoveGroupDelegateViewModel
            {
                ConfirmRemovalFromGroup = true, RemoveStartedEnrolments = true
            };

            A.CallTo(() => groupsService.GetGroupName(1, 2)).Returns("Group");
            A.CallTo(() => groupsService.GetGroupDelegates(1))
            .Returns(new List <GroupDelegate> {
                new GroupDelegate {
                    DelegateId = 2
                }
            });
            A.CallTo(() => groupsService.RemoveDelegateFromGroup(1, 2, A <bool> ._))
            .DoesNothing();

            // When
            var result = groupDelegatesController.RemoveGroupDelegate(model, 1, 2);

            // Then
            using (new AssertionScope())
            {
                A.CallTo(() => groupsService.RemoveDelegateFromGroup(1, 2, A <bool> ._))
                .MustHaveHappened();
                result.Should().BeRedirectToActionResult().WithActionName("Index");
            }
        }
Beispiel #3
0
        public IActionResult RemoveGroupDelegate(RemoveGroupDelegateViewModel model, int groupId, int delegateId)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            groupsService.RemoveDelegateFromGroup(groupId, delegateId, model.RemoveStartedEnrolments);

            return(RedirectToAction("Index", new { groupId, page = model.ReturnPageQuery.PageNumber }));
        }