public void MapFromContext_ExistingFromGroupsTest() { //Arrange Dependencies var mapperMock = new Mock <IMapper>(); var serviceContextMock = new Mock <PriceCalendarServiceContext>(); var consumeContextMock = new Mock <ConsumeContext <IItemEntityCreated> >(); var loggerMock = new Mock <ILogger>(); var creationOfItemEntityConsumer = new CreationOfItemEntityConsumer(serviceContextMock.Object, mapperMock.Object, loggerMock.Object); //Arrange Mocked object consumeContextMock.Setup(p => p.Message.ArticleGroup).Returns(2222); consumeContextMock.Setup(p => p.Message.ItemNo).Returns("ItemNo"); consumeContextMock.Setup(p => p.Message.Name).Returns("Name"); consumeContextMock.Setup(p => p.Message.RelationNo).Returns(3333); consumeContextMock.Setup(p => p.Message.Unit).Returns("Unit"); consumeContextMock.Setup(p => p.Message.Price).Returns(1111); //Setup argument for existing found in db var existing = new ItemPriceAndCurrencyResponse { Id = consumeContextMock.Object.Message.RelationNo ?? default(int), Currency = consumeContextMock.Object.Message.Unit }; //Setup desired result from tested method var desiredGroup = new Groups { Currency = existing, CurrencyId = existing.Id, Id = consumeContextMock.Object.Message.ArticleGroup ?? default(int), Item = new List <Item>() }; var item = new Item { Group = desiredGroup, GroupId = desiredGroup.Id, Id = consumeContextMock.Object.Message.ItemNo, Name = consumeContextMock.Object.Message.Name, Price = consumeContextMock.Object.Message.Price }; var resultGroup = creationOfItemEntityConsumer .MapFromContext_ExistingFromGroups(consumeContextMock.Object, existing); Assert.AreEqual(desiredGroup.Currency, resultGroup.Currency); Assert.AreEqual(desiredGroup.CurrencyId, resultGroup.CurrencyId); Assert.AreEqual(desiredGroup.Id, resultGroup.Id); foreach (var gItem in resultGroup.Item) { //Assert.AreEqual(item.Group, gItem.Group); -> Assert does not work at all with complex objects (they are the same) Assert.AreEqual(item.GroupId, gItem.GroupId); Assert.AreEqual(item.Id, gItem.Id); Assert.AreEqual(item.Name, gItem.Name); Assert.AreEqual(item.Price, gItem.Price); } }
public void MapFromContext_ExistingFromResponseTest() { //Arrange Dependencies var mapperMock = new Mock <IMapper>(); var serviceContextMock = new Mock <PriceCalendarServiceContext>(); var consumeContextMock = new Mock <ConsumeContext <IItemEntityCreated> >(); var loggerMock = new Mock <ILogger>(); var creationOfItemEntityConsumer = new CreationOfItemEntityConsumer(serviceContextMock.Object, mapperMock.Object, loggerMock.Object); //Arrange Mocked object consumeContextMock.Setup(p => p.Message.ArticleGroup).Returns(2222); consumeContextMock.Setup(p => p.Message.ItemNo).Returns("ItemNo"); consumeContextMock.Setup(p => p.Message.Name).Returns("Name"); consumeContextMock.Setup(p => p.Message.RelationNo).Returns(3333); consumeContextMock.Setup(p => p.Message.Unit).Returns("Unit"); consumeContextMock.Setup(p => p.Message.Price).Returns(1111); //Arrange Model object var model = new ItemPriceAndCurrencyResponse(); model.Groups = new List <Groups>(); model.Groups.Add(new Groups { Id = consumeContextMock.Object.Message.ArticleGroup ?? default(int) }); var desiredResult = new Item { Id = consumeContextMock.Object.Message.ItemNo, Name = consumeContextMock.Object.Message.Name, Price = consumeContextMock.Object.Message.Price }; foreach (var group in model.Groups) { if (group.Id == 2222) { desiredResult.GroupId = group.Id; desiredResult.Group = group; } } //Act var itemResult = creationOfItemEntityConsumer. MapFromContext_ExistingFromResponse(consumeContextMock.Object, model); //Assert Assert.AreEqual(itemResult.Group, desiredResult.Group); Assert.AreEqual(itemResult.GroupId, desiredResult.GroupId); Assert.AreEqual(itemResult.Group, desiredResult.Group); Assert.AreEqual(itemResult.Group, desiredResult.Group); Assert.AreEqual(itemResult.Group, desiredResult.Group); Assert.AreEqual(itemResult.Group, desiredResult.Group); }
public void CanNotBeTranslatedTest() { //Arrange Dependencies var mapperMock = new Mock <IMapper>(); var serviceContextMock = new Mock <PriceCalendarServiceContext>(); var consumeContextMock = new Mock <ConsumeContext <IItemEntityCreated> >(); var loggerMock = new Mock <ILogger>(); var creationOfItemEntityConsumer = new CreationOfItemEntityConsumer(serviceContextMock.Object, mapperMock.Object, loggerMock.Object); //Arrange Mocked object consumeContextMock.Setup(p => p.Message.ArticleGroup).Returns(2222); //consumeContextMock.Setup(p => p.Message.ItemNo).Returns("ItemNo"); consumeContextMock.Setup(p => p.Message.RelationNo).Returns(3333); var result = creationOfItemEntityConsumer.CanBeTranslated(consumeContextMock.Object); Assert.IsFalse(result); }