Exemplo n.º 1
0
        public async void HashSetHashGetAllAndConvertFromHashEntryList_HashSet_ReturnEntityWithValues()
        {
            //Arrange
            IDatabase fakeDatabase = FakesFactory.CreateDatabaseFake();

            //Act
            StockMetaData metaData            = new StockMetaData("USA", CurrencyCode.USD);
            StockEntity   expectedTeslaEntity = new StockEntity("TESLA", StockSector.Technology, 229.00, 12.5, metaData);
            await fakeDatabase.HashSetAsync(expectedTeslaEntity);

            HashEntry[] hashEntries = await fakeDatabase.HashGetAllAsync(expectedTeslaEntity.GetRedisKey());

            StockEntity teslaEntity = hashEntries.ConvertFromHashEntryList <StockEntity>();

            //Assert
            Assert.Equal(expectedTeslaEntity.Id, teslaEntity.Id);
            Assert.Equal(expectedTeslaEntity.Name, teslaEntity.Name);
            Assert.Equal(expectedTeslaEntity.Symbol, teslaEntity.Symbol);
            Assert.Equal(expectedTeslaEntity.Sector, teslaEntity.Sector);
            Assert.Equal(expectedTeslaEntity.Price, teslaEntity.Price);
            Assert.Equal(expectedTeslaEntity.PriceChangeRate, teslaEntity.PriceChangeRate);
            Assert.Equal(expectedTeslaEntity.CreatedDateTime, teslaEntity.CreatedDateTime);
            Assert.Equal(expectedTeslaEntity.IsActive, teslaEntity.IsActive);
            Assert.Equal(expectedTeslaEntity.MetaData.Country, teslaEntity.MetaData.Country);
            Assert.Equal(expectedTeslaEntity.MetaData.Currency, teslaEntity.MetaData.Currency);
            Assert.Equal(expectedTeslaEntity.MetaData.UpdateDateTime, teslaEntity.MetaData.UpdateDateTime);
        }
        public async void AddGetEntity_AddEnttiy_ReturnEntityByIdAndClassProperty()
        {
            //Arrange
            StockRepository stubStockRepository = FakesFactory.CreateStockRepositoryFake();

            //Act
            StockMetaData metaData    = new StockMetaData("USA", CurrencyCode.USD);
            StockEntity   teslaEntity = new StockEntity("TESLA", StockSector.Technology, 229.00, 12.5, metaData);
            string        dummyString = teslaEntity.DummyString;
            string        entityId    = teslaEntity.Id;
            await stubStockRepository.AddAsync(teslaEntity);

            StockEntity expectedEntity = await stubStockRepository.GetByIdAsync(entityId);

            //Assert
            Assert.NotNull(expectedEntity);

            Assert.Equal(expectedEntity.Id, teslaEntity.Id);
            Assert.Equal(expectedEntity.Name, teslaEntity.Name);
            Assert.Equal(expectedEntity.Sector, teslaEntity.Sector);
            Assert.Equal(expectedEntity.Price, teslaEntity.Price);
            Assert.Equal(expectedEntity.PriceChangeRate, teslaEntity.PriceChangeRate);
            Assert.Equal(expectedEntity.CreatedDateTime, teslaEntity.CreatedDateTime);
            Assert.Equal(expectedEntity.IsActive, teslaEntity.IsActive);
            Assert.NotNull(dummyString);
            Assert.True(expectedEntity.DummyString == default);

            Assert.Equal(expectedEntity.MetaData.Currency, metaData.Currency);
            Assert.Equal(expectedEntity.MetaData.Country, metaData.Country);
            Assert.Equal(expectedEntity.MetaData.UpdateDateTime, metaData.UpdateDateTime);
        }
        public async void AddUpdateGetEntity_AddUpdateEntiy_ReturnEntityByIdWithUpdatedValues()
        {
            //Arrange
            StockRepository stubStockRepository = FakesFactory.CreateStockRepositoryFake();

            //Act
            StockMetaData metaData    = new StockMetaData("USA", CurrencyCode.USD);
            StockEntity   teslaEntity = new StockEntity("TESLA", StockSector.Technology, 229.00, 12.5, metaData);
            string        entityId    = teslaEntity.Id;
            await stubStockRepository.AddAsync(teslaEntity);

            StockEntity updatedEntity = await stubStockRepository.GetByIdAsync(entityId);

            updatedEntity.Sector                  = StockSector.Energy;
            updatedEntity.Name                    = "Rhein Energy";
            updatedEntity.CreatedDateTime         = DateTime.UtcNow.AddDays(-1);
            updatedEntity.Price                   = 119.00;
            updatedEntity.PriceChangeRate         = 2.7;
            updatedEntity.MetaData.Country        = "Germany";
            updatedEntity.MetaData.Currency       = CurrencyCode.EURO;
            updatedEntity.MetaData.UpdateDateTime = DateTime.UtcNow;

            await stubStockRepository.UpdateAsync(updatedEntity);

            StockEntity reEntity = await stubStockRepository.GetByIdAsync(entityId);

            //Assert
            Assert.NotNull(reEntity);

            Assert.Equal(updatedEntity.Id, reEntity.Id);
            Assert.Equal(updatedEntity.Name, reEntity.Name);
            Assert.Equal(updatedEntity.Sector, reEntity.Sector);
            Assert.Equal(updatedEntity.Price, reEntity.Price);
            Assert.Equal(updatedEntity.PriceChangeRate, reEntity.PriceChangeRate);
            Assert.Equal(updatedEntity.CreatedDateTime, reEntity.CreatedDateTime);
            Assert.Equal(updatedEntity.IsActive, reEntity.IsActive);
            Assert.True(updatedEntity.DummyString == default);

            Assert.Equal(updatedEntity.MetaData.Currency, reEntity.MetaData.Currency);
            Assert.Equal(updatedEntity.MetaData.Country, reEntity.MetaData.Country);
            Assert.Equal(updatedEntity.MetaData.UpdateDateTime, reEntity.MetaData.UpdateDateTime);
        }
        public async void AddDeleteGetEntity_AddDeleteEntiy_ReturnEntityByIdWithNull()
        {
            //Arrange
            StockRepository stubStockRepository = FakesFactory.CreateStockRepositoryFake();

            //Act
            StockMetaData metaData    = new StockMetaData("USA", CurrencyCode.USD);
            StockEntity   teslaEntity = new StockEntity("TESLA", StockSector.Technology, 229.00, 12.5, metaData);
            string        entityId    = teslaEntity.Id;
            await stubStockRepository.AddAsync(teslaEntity);

            StockEntity savedEntity = await stubStockRepository.GetByIdAsync(entityId);

            await stubStockRepository.DeleteAsync(savedEntity);

            StockEntity deletedEntity = await stubStockRepository.GetByIdAsync(entityId);

            //Assert
            Assert.Null(deletedEntity);
        }
Exemplo n.º 5
0
        public JsonResult DeleteSkuFromTransction(StockMetaData stockMetaData)
        {
            var transactionInfo = GetTransactionSession();
            var sku             = transactionInfo.Products.FirstOrDefault(x => x.SkuId == stockMetaData.SkuId);

            if (sku != null)
            {
                transactionInfo.Products.Remove(sku);
                return(Json(new AjaxResult
                {
                    IsError = false
                }));
            }
            var productNotFountresult = new AjaxResult
            {
                IsError = true,
            };

            productNotFountresult.ErrorMessages.Add(new ModelError("SKU Is not Found."));
            return(Json(productNotFountresult));
        }
Exemplo n.º 6
0
        public async void HashSetAndHashGetAll_HashSet_ReturnHashGetAllWithValues()
        {
            //Arrange
            IDatabase fakeDatabase = FakesFactory.CreateDatabaseFake();

            //Act
            StockMetaData metaData            = new StockMetaData("USA", CurrencyCode.USD);
            StockEntity   expectedTeslaEntity = new StockEntity("TESLA", StockSector.Technology, 229.00, 12.5, metaData);
            await fakeDatabase.HashSetAsync(expectedTeslaEntity);

            HashEntry[] hashEntries = await fakeDatabase.HashGetAllAsync(expectedTeslaEntity.GetRedisKey());

            //Assert
            Assert.Equal(20, hashEntries.Count());

            Assert.Equal("Name", hashEntries[0].Name);
            Assert.Equal(expectedTeslaEntity.Name, hashEntries[0].Value);

            Assert.Equal("Symbol", hashEntries[1].Name);
            Assert.Equal(expectedTeslaEntity.Symbol, hashEntries[1].Value);

            Assert.Equal("Sector", hashEntries[2].Name);
            Assert.Equal(((int)expectedTeslaEntity.Sector).ToString(), hashEntries[2].Value);

            Assert.Equal("Price", hashEntries[3].Name);
            Assert.Equal(expectedTeslaEntity.Price.ToString(), hashEntries[3].Value);

            Assert.Equal("PriceChangeRate", hashEntries[4].Name);
            Assert.Equal(expectedTeslaEntity.PriceChangeRate.ToString(), hashEntries[4].Value);

            Assert.Equal("CreatedDateTime", hashEntries[5].Name);
            Assert.Equal(expectedTeslaEntity.CreatedDateTime.Kind == DateTimeKind.Utc ?
                         $"{expectedTeslaEntity.CreatedDateTime.Ticks}|UTC": $"{expectedTeslaEntity.CreatedDateTime.Ticks}|LOC",
                         hashEntries[5].Value);

            Assert.Equal("IsActive", hashEntries[6].Name);
            Assert.Equal(expectedTeslaEntity.IsActive.ToString(), hashEntries[6].Value);

            Assert.Equal("FirstLetterOfName", hashEntries[7].Name);
            Assert.Equal(expectedTeslaEntity.FirstLetterOfName.ToString(), hashEntries[7].Value);

            Assert.Equal("LastByteOfName", hashEntries[8].Name);
            Assert.Equal(expectedTeslaEntity.LastByteOfName.ToString(), hashEntries[8].Value);

            Assert.Equal("LengthOfNameShort", hashEntries[9].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameShort.ToString(), hashEntries[9].Value);

            Assert.Equal("LengthOfNameUshort", hashEntries[10].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameUshort.ToString(), hashEntries[10].Value);

            Assert.Equal("LengthOfNameInt", hashEntries[11].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameInt.ToString(), hashEntries[11].Value);

            Assert.Equal("LengthOfNameUint", hashEntries[12].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameUint.ToString(), hashEntries[12].Value);

            Assert.Equal("LengthOfNameLong", hashEntries[13].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameLong.ToString(), hashEntries[13].Value);

            Assert.Equal("LengthOfNameUlong", hashEntries[14].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameUlong.ToString(), hashEntries[14].Value);

            Assert.Equal("LengthOfNameFloat", hashEntries[15].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameFloat.ToString(), hashEntries[15].Value);

            Assert.Equal("LengthOfNameDouble", hashEntries[16].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameDouble.ToString(), hashEntries[16].Value);

            Assert.Equal("LengthOfNameDecimal", hashEntries[17].Name);
            Assert.Equal(expectedTeslaEntity.LengthOfNameDecimal.ToString(), hashEntries[17].Value);

            Assert.Equal("MetaData", hashEntries[18].Name);
            Assert.Equal(JsonConvert.SerializeObject(expectedTeslaEntity.MetaData, Formatting.None), hashEntries[18].Value);

            Assert.Equal("Id", hashEntries[19].Name);
            Assert.Equal(expectedTeslaEntity.Id.ToString(), hashEntries[19].Value);
        }