public void UpdateBike_Updates_Bike() { var testId = 1; var bike = new BikeEntity(); var dto = new BikeDto { Id = Guid.NewGuid(), BikeModelId = Guid.NewGuid(), BikeColorId = testId, WheelSizeId = testId, }; var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(bike); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.UpdateBike(dto); mockRepo.Verify(r => r.Update( It.Is <BikeEntity>(b => b.IsActive == true && b.BikeColorId == dto.BikeColorId && b.BikeModelId == dto.BikeModelId && b.WheelSizeId == dto.WheelSizeId && b.PurchaseDate.Date == DateTime.UtcNow.Date && b.RemovedFromInventoryDate == null)), Times.Once); }
public void Delete(BikeEntity bike) { bike.IsActive = false; bike.RemovedFromInventoryDate = DateTime.UtcNow; _context.Bikes.Update(bike); _context.SaveChanges(); }
public void CompareObjectProperties_Returns_4_Results() { var startIntId = 1; var endIntId = 2; var bike = new BikeEntity { BikeModelId = Guid.NewGuid(), BikeColorId = startIntId, WheelSizeId = startIntId, }; var dto = new BikeDto { IsActive = false, BikeModelId = Guid.NewGuid(), BikeColorId = endIntId, WheelSizeId = endIntId, CurrentStatusId = endIntId }; var excludedProperties = new List <string> { "id", "PurchaseDate", "RemovedFromInventoryDate" }; var actual = objectInspectionService.GetDifferentPropertyValues(bike, dto, excludedProperties); var expectedCount = 5; // amount of properties in dto Assert.AreEqual(expectedCount, actual.Count()); }
public void CompareObjectProperties_Returns_Bike_With_DtosProperties() { var startIntId = 1; var endIntId = 2; var bike = new BikeEntity { BikeModelId = Guid.NewGuid(), BikeColorId = startIntId, WheelSizeId = startIntId, }; var dto = new BikeDto { IsActive = false, BikeModelId = Guid.NewGuid(), BikeColorId = endIntId, WheelSizeId = endIntId, }; IEnumerable <ObjectPropertyDifference> expected = new List <ObjectPropertyDifference> { new ObjectPropertyDifference { PropertyName = "BikeColorId", LeftValue = bike.BikeColorId.ToString(), RightValue = dto.BikeColorId.ToString() }, new ObjectPropertyDifference { PropertyName = "BikeModelId", LeftValue = bike.BikeModelId.ToString(), RightValue = dto.BikeModelId.ToString() }, new ObjectPropertyDifference { PropertyName = "IsActive", LeftValue = bike.IsActive.ToString(), RightValue = dto.IsActive.ToString() }, new ObjectPropertyDifference { PropertyName = "WheelSizeId", LeftValue = bike.WheelSizeId.ToString(), RightValue = dto.WheelSizeId.ToString() }, }; var excludedProperties = new List <string> { "id", "PurchaseDate", "LastCheckedOutDate", "LastReturnedDate", "LastRepairedDate", "RemovedFromInventoryDate" }; var actual = objectInspectionService.GetDifferentPropertyValues(bike, dto, excludedProperties); Assert.IsTrue(expected.All(e => actual.Any(a => a.PropertyName == e.PropertyName && a.LeftValue == e.LeftValue && a.RightValue == e.RightValue))); }
public Bike GetBikeByID(int bikeID) { if (bikeID == 0) { return(null); } BikeEntity bike = _db.Set <BikeEntity>().Where(x => x.ID == bikeID).FirstOrDefault(); var entity = bike.Map(); entity.BikeType = bike.BikeType.Map(); return(entity); }
public void CreateNewBike_Calls_CreateHistoryItem_In_BikeHistoryService() { var entity = new BikeEntity(); var dto = new BikeDto(); var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.Insert(It.IsAny <BikeEntity>())).Returns(entity); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.CreateNewBike(dto); mockHistoryService.Verify(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>()), Times.Once); }
public async Task <Bike> CreateBike(Bike bike) { if (bike == null) { throw new Exception("Invalid bike"); } BikeEntity entity = bike.Map(); _db.Set <BikeEntity>().Add(entity); await _db.SaveChangesAsync(); bike.ID = entity.ID; return(bike); }
public void GetById_Returns_BikeDto() { var details = new BikeEntity(); var dto = new BikeDto(); mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())) .Returns(details); mockMapper.Setup(m => m.Map <BikeDto>(details)) .Returns(dto); BikeDto actual = bikeService.GetById(Guid.NewGuid()); Assert.AreEqual(dto, actual); }
public void CreateNewBike_Returns_BikeDto() { var entity = new BikeEntity(); var dto = new BikeDto(); var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.Insert(It.IsAny <BikeEntity>())).Returns(entity); mockMapper.Setup(m => m.Map <BikeDto>(entity)).Returns(dto); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); var actual = bikeService.CreateNewBike(dto); Assert.AreEqual(dto, actual); }
public void RemoveBike_Calls_CreateHistoryItem_In_BikeHistoryItemService() { var testStatus = Status.Fixed; var bike = new BikeEntity(); var dto = new BikeDto { Id = Guid.NewGuid() }; var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(bike); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.RemoveBike(dto.Id, testStatus); mockHistoryService.Verify(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>()), Times.Once); }
public void ChangeStatus_Calls_Update_In_Repo() { var testStatus = Status.Fixed; var bike = new BikeEntity(); var dto = new BikeDto { Id = Guid.NewGuid(), }; var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(bike); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.ChangeStatus(dto.Id, testStatus); mockRepo.Verify(r => r.Update(It.IsAny <BikeEntity>()), Times.Once); }
public static Bike Map(this BikeEntity bike) { if (bike == null) { return(null); } Bike bikeModel = new Bike { ID = bike.ID, Brand = bike.Brand, FrameMaterial = bike.FrameMaterial, Name = bike.Name, Price = bike.Price, Wheels = bike.Wheels, ImageLocation = bike.ImageLocation, BikeTypeID = bike.BikeTypeID }; return(bikeModel); }
public void RemoveBike_Updates_Bike() { var testStatus = Status.Fixed; var bike = new BikeEntity(); var dto = new BikeDto { Id = Guid.NewGuid() }; var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(bike); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.RemoveBike(dto.Id, testStatus); mockRepo.Verify(r => r.Delete( It.Is <BikeEntity>(b => b.CurrentStatusId == (int)testStatus)), Times.Once); }
public void UpdateBike_Calls_CompareObjectProperties_In_ObjectInspectionService() { var testId = 1; var bike = new BikeEntity(); var dto = new BikeDto { Id = Guid.NewGuid(), BikeModelId = Guid.NewGuid(), BikeColorId = testId, WheelSizeId = testId, }; var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(bike); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.UpdateBike(dto); mockInspectionService.Verify(r => r.GetDifferentPropertyValues(It.IsAny <BikeEntity>(), It.IsAny <BikeDto>(), It.IsAny <List <string> >()), Times.Once); }
public void UpdateBike_Calls_CreateHistoryItem_In_HistoryService() { var testId = 1; var bike = new BikeEntity(); var dto = new BikeDto { Id = Guid.NewGuid(), BikeModelId = Guid.NewGuid(), BikeColorId = testId, WheelSizeId = testId, }; var historyItem = new BikeHistoryItemDto { Id = Guid.NewGuid() }; mockRepo.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(bike); mockHistoryService.Setup(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>())).Returns(historyItem); bikeService.UpdateBike(dto); mockHistoryService.Verify(r => r.CreateHistoryItem(It.IsAny <BikeHistoryItemDto>()), Times.Once); }
public BikeEntity Insert(BikeEntity bike) { _context.Bikes.Add(bike); _context.SaveChanges(); return(bike); }
public void Update(BikeEntity bike) { _context.Bikes.Update(bike); _context.SaveChanges(); }