public void CanInsertPermaban() { var options = Utility.CreateNewContextOptions(nameof(CanInsertPermaban)); using (var context = new HubContext(options)) { (var admin, var banTarget) = PrepareDatabase(context); var service = new BanService(context); var banAddModel = new BanAddModel(TimeSpan.FromDays(150), context.Players.Single(x => x.Id == banTarget.Id), "Griefer", "byond://discordia.space:2011", true, admin, banTarget.Ip, banTarget.Cid); service.AddBan(banAddModel); var ban = context.Bans.FirstOrDefault(); Assert.NotNull(ban); Assert.Equal(ban.BannedById, admin.Id); Assert.Equal(ban.TargetId, banTarget.Id); Assert.Equal(ban.Duration, banAddModel.Duration.Minutes); Assert.Equal(ban.Server, banAddModel.Server); Assert.Equal(ban.Reason, banAddModel.BanReason); Assert.Equal(ban.Type, BanType.Permaban); Assert.Null(ban.Job); } }
public void AddBan(BanAddModel model) { var ban = new Ban { BannedById = model.BannedBy.Id, Cid = model.Cid, Duration = model.Duration.Minutes, ExpirationTime = DateTime.Now + model.Duration, Server = model.Server, Reason = model.BanReason, TargetId = model.BanTarget.Id, Ip = model.Ip, Time = DateTime.Now, Unbanned = false, Type = model.Permaban ? BanType.Permaban : BanType.Tempban }; _db.Bans.Add(ban); _db.SaveChanges(); }