public void ShouldBeAbleToCreateAGroup() { User user = new User(new LoginId("123"), null); Group group = new Group {Name = "Nature-Lovers"}; var repositoryMock = new Mock<IGroupRepository>(); repositoryMock.Setup(rep => rep.Exists(group)).Returns(false); repositoryMock.Setup(rep => rep.Create(group)); user.GroupRepository = repositoryMock.Object; user.CreateGroup(group); repositoryMock.VerifyAll(); }
public void ShouldNotBeAbleToCreateGroupIfAlreadyExists() { User user = new User(new LoginId("123"), null); Group group = new Group() {Name = "Nature-Lovers"}; var repositoryMock = new Moq.Mock<IGroupRepository>(); user.GroupRepository = repositoryMock.Object; repositoryMock.Setup(p => p.Exists(group)).Returns(true); try{ user.CreateGroup(group); Assert.Fail("exception expected"); } catch (GroupAlreadyExistsException){ } repositoryMock.VerifyAll(); }
public void ShouldAutomaticallyJoinAGroupUponCreatingIt() { User user = new User(new LoginId("123"), null); Group group = new Group { Name = "Nature-Lovers" }; var repositoryMock = new Mock<IGroupRepository>(); repositoryMock.Setup(rep => rep.Exists(It.IsAny<Group>())).Returns(false); repositoryMock.Setup(rep => rep.Create(group)); user.GroupRepository = repositoryMock.Object; user.CreateGroup(group); Assert.AreEqual(group, user.Groups.First()); repositoryMock.VerifyAll(); }