private List <GasDiscount> SetupEnvironment() { var discounts = new List <GasDiscount>(); var discount = new GasDiscount { Program = "Costco membership", Amount = 0.6m.GetCad(), DiscountType = GasDiscountType.PerLiter, Comment = "Test Discount", IsActive = true, }; var rec = _manager.Create(discount); discounts.Add(rec); discount = new GasDiscount { Program = "Petro-Canada membership", Amount = 0.2m.GetCad(), DiscountType = GasDiscountType.PerLiter, Comment = "Test Discount 2", IsActive = true, }; rec = _manager.Create(discount); discounts.Add(rec); return(discounts); }
public void DiscountMustHaveValid_Author() { // Arrange var discount = new GasDiscount { Program = "Petro-Canada membership", Amount = new Money(0.8), DiscountType = GasDiscountType.PerLiter }; // Act var processResult = new ProcessingResult(); var result = _validator.IsValidEntity(discount, processResult); // Assert Assert.False(result); Assert.Single(processResult.MessageList); }
public void ValidDiscountCanPassValidation() { // Arrange var discount = new GasDiscount { AuthorId = _authorId, Program = "Petro-Canada membership", Amount = new Money(0.8), DiscountType = GasDiscountType.PerLiter }; // Act var processResult = new ProcessingResult(); var result = _validator.IsValidEntity(discount, processResult); // Assert Assert.True(result); Assert.Empty(processResult.MessageList); }
public void CanCreateDiscount() { // Arrange var discount = new GasDiscount { Program = "Costco membership", Amount = 0.6m.GetCad(), DiscountType = GasDiscountType.PerLiter, Comment = "Test Discount", IsActive = true, }; // Act var savedDisc = _manager.Create(discount); // Assert Assert.NotNull(savedDisc); Assert.True(savedDisc.Id >= 1, "savedDisc.Id>=1"); Assert.Equal(_authorId.ToString(), savedDisc.AuthorId.ToString()); }
public void Can_Parse_Discount_String_Content(string contentText) { // Arrange var xmlDoc = XDocument.Parse(string.Format(NoteXmlTextBase, XmlNamespace, contentText)); var discount = new GasDiscount { Program = "Petro-Canada membership", Amount = 0.8m.GetCad(), DiscountType = GasDiscountType.PerLiter, IsActive = true }; // Act var note = _noteSerializer.GetNote(discount); // Assert Assert.True(_noteSerializer.ProcessResult.Success); Assert.NotNull(note); Assert.Equal(AutomobileConstant.GasDiscountRecordSubject, note.Subject); Assert.Equal(note.Content, xmlDoc.ToString(SaveOptions.DisableFormatting)); }
public void Can_Get_Right_Xml_With_Null_Note_Content_To_DataSource() { // Arrange - note with null content var discount = new GasDiscount { //AuthorId = DefaultAuthor.Id, Program = "Petro-Canada membership", Amount = 0.8m.GetCad(), DiscountType = GasDiscountType.PerLiter, IsActive = true }; var xmlDoc = XDocument.Parse( $"<?xml version=\"1.0\" encoding=\"utf-16\" ?><Note xmlns=\"{XmlNamespace}\"><Content><GasDiscount><Program>Petro-Canada membership</Program><Amount><Money><Value>0.8</Value><Code>CAD</Code></Money></Amount><DiscountType>PerLiter</DiscountType><IsActive>true</IsActive><Comment /></GasDiscount></Content></Note>"); // Act var note = _noteSerializer.GetNote(discount); // Assert Assert.True(_noteSerializer.ProcessResult.Success); Assert.Equal(note.Content, xmlDoc.ToString(SaveOptions.DisableFormatting)); Assert.NotNull(note); }
public void Can_Get_Discount_By_Parse_Valid_Note_Xml() { // Arrange var xmlDoc = XDocument.Parse( $"<?xml version=\"1.0\" encoding=\"utf-16\" ?><Note xmlns=\"{XmlNamespace}\"><Content><GasDiscount><Program><Petro>-\"Canada\" membership</Program><Amount><Money><Value>0.8</Value><Code>CAD</Code></Money></Amount><DiscountType>PerLiter</DiscountType><IsActive>true</IsActive><Comment /></GasDiscount></Content></Note>"); var note = new HmmNote { Id = 1, Author = _author, Subject = AutomobileConstant.GasDiscountRecordSubject, Content = xmlDoc.ToString(SaveOptions.DisableFormatting), CreateDate = DateTime.Now, LastModifiedDate = DateTime.Now }; var discountExpected = new GasDiscount { Id = 1, //AuthorId = DefaultAuthor.Id, Program = "<Petro>-\"Canada\" membership", Amount = 0.8m.GetCad(), DiscountType = GasDiscountType.PerLiter, IsActive = true }; // Act var discount = _noteSerializer.GetEntity(note); // Assert Assert.True(_noteSerializer.ProcessResult.Success); Assert.NotNull(discount); Assert.Equal(discountExpected.Id, discount.Id); Assert.Equal(discountExpected.Program, discount.Program); Assert.Equal(discountExpected.Amount, discount.Amount); Assert.Equal(discountExpected.DiscountType, discount.DiscountType); Assert.Equal(discountExpected.IsActive, discount.IsActive); Assert.Equal(_author.Id.ToString(), discount.AuthorId.ToString()); }
public void ValidGasLogCanPassValidation() { // Arrange var log = new GasLog { AuthorId = _authorId, Date = DateProvider.UtcNow, Car = new AutomobileInfo(), CurrentMeterReading = 30000.GetKilometer(), Distance = 340.GetKilometer(), Gas = 40d.GetLiter(), Price = 1.34m.GetCad(), Station = "Costco", CreateDate = DateProvider.UtcNow, Discounts = new List <GasDiscountInfo> { new() { Program = new GasDiscount { Amount = 0.8m.GetCad(), Program = "Petro-Canada membership", DiscountType = GasDiscountType.PerLiter, AuthorId = _authorId }, Amount = 0.8m.GetCad() } },