public void CanRemove_should_throw_exception_if_contributor_id_is_null() { var command = new RemoveContributor(); ValidationAssert.Throws(() => GuardAppContributors.CanRemove(command, App(contributors_0)), new ValidationError("Contributor ID or email is required.", "ContributorId")); }
public void CanRemove_should_throw_exception_if_contributor_not_found() { var command = new RemoveContributor { ContributorId = "1" }; Assert.Throws <DomainObjectNotFoundException>(() => GuardAppContributors.CanRemove(command, App(contributors_0))); }
public void CanRemove_should_not_throw_exception_if_contributor_not_only_owner() { var command = new RemoveContributor { ContributorId = "1" }; var contributors_1 = contributors_0.Assign("1", Role.Owner); var contributors_2 = contributors_1.Assign("2", Role.Owner); GuardAppContributors.CanRemove(command, App(contributors_2)); }
public void CanRemove_should_throw_exception_if_contributor_is_only_owner() { var command = new RemoveContributor { ContributorId = "1" }; var contributors_1 = contributors_0.Assign("1", Role.Owner); var contributors_2 = contributors_1.Assign("2", Role.Editor); ValidationAssert.Throws(() => GuardAppContributors.CanRemove(command, App(contributors_2)), new ValidationError("Cannot remove the only owner.")); }