public void Apply_should_apply_rules_for_new_membership() { //arrange var manager = new RulesManager(); var notify = new Mock <INotification <NewMembership> >(); var membership = Helpers.GetNewMembership(notify.Object); //act manager.Process(membership); //assert notify.Verify(n => n.SendNotification(membership), Times.Once()); }
public void Apply_should_apply_rules_for_active_membership() { //arrange var manager = new RulesManager(); var notify = new Mock <INotification <ActiveMembership> >(); var membership = Helpers.GetActiveMembership(notify.Object); //act manager.Process(membership); //assert notify.Verify(n => n.SendNotification(membership), Times.Once()); Assert.True(DateTime.Now.AddDays(ActiveMembership._days).Date == membership.ExpiryDate.Date); }
public void Apply_should_not_apply_rules_for_videocontent() { //arrange var manager = new RulesManager(); var video = Helpers.GetVideContent(); video.IsELearning = false; //act manager.Process(video); //assert Assert.NotNull(video); Assert.DoesNotContain(video.CurrentOrder.Items, o => o is FreeVideoContent); }
public void Apply_should_apply_rules_for_videocontent() { //arrange var manager = new RulesManager(); var video = Helpers.GetVideContent(); //book.ItemStatus = Status.Completed; //act manager.Process(video); //assert Assert.NotNull(video); Assert.Contains(video.CurrentOrder.Items, o => o is FreeVideoContent); }
public void Apply_should_not_apply_rules_for_active_completed_membership() { //arrange var notification = new Mock <INotification <ActiveMembership> >(); var manager = new RulesManager(); var membership = Helpers.GetActiveMembership(notification.Object); membership.ItemStatus = Status.Completed; //act manager.Process(membership); //assert notification.Verify(n => n.SendNotification(membership), Times.Never()); }
public void Apply_should_not_apply_rules_for_completed_book() { //arrange var manager = new RulesManager(); var book = Helpers.GetBook(); book.ItemStatus = Status.Completed; //act manager.Process(book); //assert Assert.NotNull(book); Assert.True(book.PackingSlips == default(List <Packingslip>)); Assert.True(book.Agent?.CommissionEarned == 0); }
public void Apply_should_apply_rules_for_product() { //arrange var manager = new RulesManager(); var product = Helpers.GetProduct(); //act manager.Process(product); //assert Assert.NotNull(product); Assert.NotEmpty(product.PackingSlips); Assert.True(product.PackingSlips.Last().IsOriginal); Assert.NotNull(product.PackingSlips.Last().Id); Assert.True(product.Agent?.CommissionEarned == (float)(product.ItemPrice * 0.05)); }
public void Apply_should_apply_rules_for_book() { //arrange var manager = new RulesManager(); var book = Helpers.GetBook(); //act manager.Process(book); //assert Assert.NotNull(book); Assert.NotEmpty(book.PackingSlips); Assert.True(book.PackingSlips.First().IsOriginal); Assert.NotNull(book.PackingSlips.First().Id); Assert.True(!book.PackingSlips.Last().IsOriginal); Assert.NotNull(book.PackingSlips.Last().Id); Assert.True(book.Agent?.CommissionEarned == (float)(book.ItemPrice * 0.05)); }