本文整理汇总了C#中JabbR.Services.ChatService.AddOwner方法的典型用法代码示例。如果您正苦于以下问题:C# ChatService.AddOwner方法的具体用法?C# ChatService.AddOwner怎么用?C# ChatService.AddOwner使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JabbR.Services.ChatService
的用法示例。
在下文中一共展示了ChatService.AddOwner方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakesUserOwner
public void MakesUserOwner()
{
var repository = new InMemoryRepository();
var user = new ChatUser
{
Name = "foo"
};
var user2 = new ChatUser
{
Name = "foo2"
};
repository.Add(user);
repository.Add(user2);
var room = new ChatRoom
{
Name = "Room",
Creator = user
};
room.Owners.Add(user);
user.OwnedRooms.Add(room);
user.Rooms.Add(room);
room.Users.Add(user);
var service = new ChatService(repository);
service.AddOwner(user, user2, room);
Assert.True(room.Owners.Contains(user2));
Assert.True(user2.OwnedRooms.Contains(room));
}
示例2: MakesOwnerAllowedIfRoomLocked
public void MakesOwnerAllowedIfRoomLocked()
{
var repository = new InMemoryRepository();
var user = new ChatUser
{
Name = "foo"
};
var user2 = new ChatUser
{
Name = "foo2"
};
repository.Add(user);
repository.Add(user2);
var room = new ChatRoom
{
Name = "Room",
Creator = user,
Private = true
};
room.Owners.Add(user);
user.OwnedRooms.Add(room);
user.Rooms.Add(room);
room.Users.Add(user);
var service = new ChatService(repository, new Mock<ICryptoService>().Object);
service.AddOwner(user, user2, room);
Assert.True(user2.AllowedRooms.Contains(room));
Assert.True(room.AllowedUsers.Contains(user2));
Assert.True(room.Owners.Contains(user2));
Assert.True(user2.OwnedRooms.Contains(room));
}
示例3: ThrowsIfUserIsAlreadyAnOwner
public void ThrowsIfUserIsAlreadyAnOwner()
{
var repository = new InMemoryRepository();
var user = new ChatUser
{
Name = "foo"
};
repository.Add(user);
var room = new ChatRoom
{
Name = "Room"
};
room.Users.Add(user);
room.Owners.Add(user);
user.OwnedRooms.Add(room);
user.Rooms.Add(room);
var service = new ChatService(repository);
Assert.Throws<InvalidOperationException>(() => service.AddOwner(user, user, room));
}
示例4: ThrowsIfUserIsNotOwner
public void ThrowsIfUserIsNotOwner()
{
var repository = new InMemoryRepository();
var user = new ChatUser
{
Name = "foo"
};
repository.Add(user);
var room = new ChatRoom
{
Name = "Room"
};
room.Users.Add(user);
user.Rooms.Add(room);
var service = new ChatService(repository, new Mock<ICryptoService>().Object);
Assert.Throws<InvalidOperationException>(() => service.AddOwner(user, user, room));
}
示例5: NonOwnerAdminCanAddUserAsOwner
public void NonOwnerAdminCanAddUserAsOwner()
{
var repository = new InMemoryRepository();
var admin = new ChatUser
{
Name = "foo",
IsAdmin = true
};
var user2 = new ChatUser
{
Name = "foo2"
};
repository.Add(admin);
repository.Add(user2);
var room = new ChatRoom
{
Name = "Room",
Creator = admin
};
admin.Rooms.Add(room);
room.Users.Add(admin);
var service = new ChatService(new Mock<ICache>().Object, repository);
service.AddOwner(admin, user2, room);
Assert.True(room.Owners.Contains(user2));
Assert.True(user2.OwnedRooms.Contains(room));
}
示例6: MakesUserOwnerIfUserAlreadyAllowed
public void MakesUserOwnerIfUserAlreadyAllowed()
{
var repository = new InMemoryRepository();
var user = new ChatUser
{
Name = "foo"
};
var user2 = new ChatUser
{
Name = "foo2"
};
repository.Add(user);
repository.Add(user2);
var room = new ChatRoom
{
Name = "Room",
Private = true,
Creator = user
};
room.Owners.Add(user);
user.OwnedRooms.Add(room);
user.Rooms.Add(room);
room.Users.Add(user);
user2.AllowedRooms.Add(room);
room.AllowedUsers.Add(user2);
var service = new ChatService(new Mock<ICache>().Object, repository);
service.AddOwner(user, user2, room);
Assert.True(room.Owners.Contains(user2));
Assert.True(user2.OwnedRooms.Contains(room));
}
示例7: ThrowsIfUserIsAlreadyAnOwner
public void ThrowsIfUserIsAlreadyAnOwner()
{
var repository = new InMemoryRepository();
var user = new ChatUser
{
Name = "foo"
};
repository.Add(user);
var room = new ChatRoom
{
Name = "Room"
};
room.Users.Add(user);
room.Owners.Add(user);
user.OwnedRooms.Add(room);
user.Rooms.Add(room);
var service = new ChatService(new Mock<ICache>().Object, new Mock<IRecentMessageCache>().Object, repository);
Assert.Throws<HubException>(() => service.AddOwner(user, user, room));
}