public async Task GetParkingRightShouldBeReturned() { var key = "key"; var entity = new ParkingRightEntity() { AmountPaid = 100, CustomerProfileType = (int)CustomerProfile.Resident, EndDate = DateTime.Now.AddDays(2), LicensePlate = "123", OperatorId = 3, ParkingRightKey = key, ParkingZoneId = 4, StartDate = DateTime.Now }; var repo = new Mock <IParkingRightRepository>(); repo.Setup(m => m.Get(key)) .Returns(() => Task.FromResult(entity)); var config = new MapperConfiguration(cfg => cfg.AddProfile <ParkingRightProfile>()); var mapper = config.CreateMapper(); var responseExpected = mapper.Map <ParkingRightModel>(entity); var parkingRightProcessor = new ParkingRightProcessor(repo.Object, mapper, new Mock <ISnsConnector>().Object, new Mock <IConfigurationProvider>().Object); var response = await parkingRightProcessor.GetParkingRight(key); var responseExpectedJson = JsonConvert.SerializeObject(responseExpected); var responseJson = JsonConvert.SerializeObject(response); Assert.Equal(responseExpectedJson, responseJson); }
public async Task ParkingRightShouldntBeSavedIfMessageIsnotPublished() { var repo = new Mock <IParkingRightRepository>(); var sns = new Mock <ISnsConnector>(); sns.Setup(m => m.PublishMessage( It.IsAny <string>(), It.IsAny <MessageType>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(() => Task.FromResult(false)); var parkingRightProcessor = new ParkingRightProcessor(repo.Object, _mapper, sns.Object, new Mock <IConfigurationProvider>().Object); await Assert.ThrowsAsync <Exception>(async() => await parkingRightProcessor.SaveParkingRight(new ParkingRightModel())); repo.Verify(r => r.Add(It.IsAny <ParkingRightEntity>()), Times.Never); }
public async Task SaveParkingRightShouldTriggerSaveRepo() { var repo = new Mock <IParkingRightRepository>(); var sns = new Mock <ISnsConnector>(); repo.Setup(m => m.Add(It.IsAny <ParkingRightEntity>())) .Returns(() => Task.FromResult(true)); sns.Setup(m => m.PublishMessage( It.IsAny <string>(), It.IsAny <MessageType>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(() => Task.FromResult(true)); var parkingRightProcessor = new ParkingRightProcessor(repo.Object, _mapper, sns.Object, new Mock <IConfigurationProvider>().Object); await parkingRightProcessor.SaveParkingRight(new ParkingRightModel()); repo.Verify(r => r.Add(It.IsAny <ParkingRightEntity>()), Times.Once); }