public Core.Data.Bonus CreateBonus(Template bonusTemplate, bool isActive = true) { var now = DateTimeOffset.Now.ToBrandOffset(bonusTemplate.Info.Brand.TimezoneId).Date; var model = new CreateUpdateBonus { Id = Guid.Empty, Name = TestDataGenerator.GetRandomString(5), Code = TestDataGenerator.GetRandomString(5), Description = TestDataGenerator.GetRandomString(20), TemplateId = bonusTemplate.Id, ActiveFrom = now, ActiveTo = now.AddDays(1), DurationStart = now, DurationEnd = now.AddDays(1) }; var bonusId = BonusManagementCommands.AddUpdateBonus(model); if (isActive) { BonusManagementCommands.ChangeBonusStatus(new ToggleBonusStatus { Id = bonusId, IsActive = true }); } return(BonusRepository.GetCurrentVersionBonuses().Single(b => b.Id == bonusId)); }
public void Updated_bonus_is_correctly_saved_to_DB() { var template = CreateFirstDepositTemplate(mode: IssuanceMode.AutomaticWithCode); var baseBonus = CreateFirstDepositBonus(isActive: false, mode: IssuanceMode.AutomaticWithCode); var model = new CreateUpdateBonus { Name = TestDataGenerator.GetRandomString(), Code = TestDataGenerator.GetRandomString(), Description = TestDataGenerator.GetRandomString(), TemplateId = template.Id, Id = baseBonus.Id, Version = baseBonus.Version, DurationType = DurationType.None, ActiveFrom = DateTimeOffset.Now.ToBrandOffset(template.Info.Brand.TimezoneId).Date, ActiveTo = DateTimeOffset.Now.AddDays(1).ToBrandOffset(template.Info.Brand.TimezoneId).Date }; var bonusId = _bonusManagementCommands.AddUpdateBonus(model); var updatedBonus = BonusRepository.GetCurrentVersionBonuses().Single(a => a.Id == bonusId); Assert.AreEqual(1, updatedBonus.Version); Assert.AreEqual(model.Code, updatedBonus.Code); }
public void Template_update_updates_bonus() { var initialBonus = CreateFirstDepositBonus(false); var model = new CreateUpdateTemplate { Id = initialBonus.Template.Id, Version = initialBonus.Template.Version, Rules = new CreateUpdateTemplateRules { RewardTiers = new List <CreateUpdateRewardTier> { new CreateUpdateRewardTier { CurrencyCode = "CAD", BonusTiers = new List <CreateUpdateTemplateTier> { new CreateUpdateTemplateTier { Reward = 25 } } } }, RewardType = BonusRewardType.Percentage } }; _bonusManagementCommands.AddUpdateTemplate(model); var updatedBonus = BonusRepository.GetCurrentVersionBonuses().Single(bonus => bonus.Id == initialBonus.Id); Assert.AreEqual(1, updatedBonus.Version); Assert.AreEqual(1, updatedBonus.Template.Version); }
public void Bonus_deactivation_is_saved_to_DB() { var bonus = CreateFirstDepositBonus(); _bonusManagementCommands.ChangeBonusStatus(new ToggleBonusStatus { Id = bonus.Id }); var updatedBonus = BonusRepository.GetCurrentVersionBonuses().Single(a => a.Id == bonus.Id); Assert.False(updatedBonus.IsActive); }