コード例 #1
0
ファイル: GetParkingRightTests.cs プロジェクト: elorella/PN
        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);
        }
コード例 #2
0
ファイル: SaveParkingRightTests.cs プロジェクト: elorella/PN
        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);
        }
コード例 #3
0
ファイル: SaveParkingRightTests.cs プロジェクト: elorella/PN
        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);
        }