public async Task FetchMembersAsync_ShouldBeOfTypeOkObjectResult() { // Arrange var member = new Member(new Candidature(new UserId(), new ClanId())); TestMock.ClanService.Setup(clanService => clanService.FindClanAsync(It.IsAny <ClanId>())).ReturnsAsync(new Clan("Test", new UserId())).Verifiable(); TestMock.ClanService.Setup(clanService => clanService.FetchMembersAsync(It.IsAny <Clan>())) .ReturnsAsync( new List <Member> { member, member, member }) .Verifiable(); var clanMemberController = new ClanMembersController(TestMock.ClanService.Object, TestMapper); // Act var result = await clanMemberController.FetchMembersAsync(new ClanId()); // Assert result.Should().BeOfType <OkObjectResult>(); TestMock.ClanService.Verify(clanService => clanService.FindClanAsync(It.IsAny <ClanId>()), Times.Once); TestMock.ClanService.Verify(clanService => clanService.FetchMembersAsync(It.IsAny <Clan>()), Times.Once); }
public async Task KickMemberFromClanAsync_ShouldBeOfTypeBadRequestObjectResult() { // Arrange TestMock.ClanService.Setup(clanService => clanService.FindClanAsync(It.IsAny <ClanId>())).ReturnsAsync(new Clan("Test", new UserId())).Verifiable(); TestMock.ClanService.Setup(clanService => clanService.KickMemberFromClanAsync(It.IsAny <Clan>(), It.IsAny <UserId>(), It.IsAny <MemberId>())) .ReturnsAsync(DomainValidationResult <Member> .Failure("Error")) .Verifiable(); var clanMemberController = new ClanMembersController(TestMock.ClanService.Object, TestMapper) { ControllerContext = { HttpContext = MockHttpContextAccessor.GetInstance() } }; // Act var result = await clanMemberController.KickMemberFromClanAsync(new ClanId(), new MemberId()); // Assert result.Should().BeOfType <BadRequestObjectResult>(); TestMock.ClanService.Verify(clanService => clanService.FindClanAsync(It.IsAny <ClanId>()), Times.Once); TestMock.ClanService.Verify( clanService => clanService.KickMemberFromClanAsync(It.IsAny <Clan>(), It.IsAny <UserId>(), It.IsAny <MemberId>()), Times.Once); }
public async Task LeaveClanAsync_ShouldBeOfTypeNotFoundObjectResult() { // Arrange TestMock.ClanService.Setup(clanService => clanService.FindClanAsync(It.IsAny <ClanId>())).ReturnsAsync((Clan)null).Verifiable(); TestMock.ClanService.Setup(clanService => clanService.LeaveClanAsync(It.IsAny <Clan>(), It.IsAny <UserId>())) .ReturnsAsync(new DomainValidationResult <Clan>()) .Verifiable(); var clanMemberController = new ClanMembersController(TestMock.ClanService.Object, TestMapper) { ControllerContext = { HttpContext = MockHttpContextAccessor.GetInstance() } }; // Act var result = await clanMemberController.LeaveClanAsync(new ClanId()); // Assert result.Should().BeOfType <NotFoundObjectResult>(); TestMock.ClanService.Verify(clanService => clanService.FindClanAsync(It.IsAny <ClanId>()), Times.Once); TestMock.ClanService.Verify(clanService => clanService.LeaveClanAsync(It.IsAny <Clan>(), It.IsAny <UserId>()), Times.Never); }