Exemple #1
0
            public async Task WhenNoMatch_ThrowsEntityException()
            {
                // Arrange
                var service = new TestableUserService();

                // Act & Assert
                await Assert.ThrowsAsync <EntityException>(async() =>
                {
                    await service.DeleteMemberAsync(new Organization(), "member");
                });
            }
Exemple #2
0
            public async Task WhenOrganizationIsNull_ThrowsException()
            {
                // Arrange
                var service = new TestableUserService();

                // Act & Assert
                await Assert.ThrowsAsync <ArgumentNullException>(async() =>
                {
                    await service.DeleteMemberAsync(null, "member");
                });
            }
Exemple #3
0
            public async Task WhenCollaborator_DeletesMembership()
            {
                // Arrange
                var fakes   = new Fakes();
                var service = new TestableUserService();

                // Act
                await service.DeleteMemberAsync(fakes.Organization, fakes.OrganizationCollaborator.Username);

                // Assert
                service.MockEntitiesContext.Verify(c => c.SaveChangesAsync(), Times.Once);
            }
Exemple #4
0
            public async Task WhenNotLastAdmin_DeletesMembership()
            {
                // Arrange
                var fakes   = new Fakes();
                var service = new TestableUserService();

                foreach (var m in fakes.Organization.Members)
                {
                    m.IsAdmin = true;
                }

                // Act
                await service.DeleteMemberAsync(fakes.Organization, fakes.OrganizationAdmin.Username);

                // Assert
                service.MockEntitiesContext.Verify(c => c.SaveChangesAsync(), Times.Once);
            }
Exemple #5
0
            public async Task WhenLastAdmin_ThrowsEntityException()
            {
                // Arrange
                var fakes   = new Fakes();
                var service = new TestableUserService();

                // Act & Assert
                var exception = await Assert.ThrowsAsync <EntityException>(async() =>
                {
                    await service.DeleteMemberAsync(fakes.Organization, fakes.OrganizationAdmin.Username);
                });

                service.MockEntitiesContext.Verify(c => c.SaveChangesAsync(), Times.Never);

                Assert.Equal(
                    Strings.DeleteMember_CannotRemoveLastAdmin,
                    exception.Message);
            }