コード例 #1
0
        public void PutWine_AttributesUnchanged_WhenUsingInvalidWineId()
        {
            // Arrange
            // Set up associated object - Varietal.
            var varietalEntity = new VarietalEntity
            {
                Varietal = "Test 4.4 Varietal"
            };

            _dbContext.Varietals.Add(varietalEntity);

            // Set up associated object - BottleSize.
            var bottleSizeEntity = new BottleSizeEntity
            {
                // Just use default values.
            };

            _dbContext.BottleSizes.Add(bottleSizeEntity);

            // Set up associated object - Winery.
            var wineryEntity = new WineryEntity
            {
                Name = "Test 4.4 Winery"
            };

            _dbContext.Wineries.Add(wineryEntity);

            _dbContext.SaveChanges( );

            var wineEntity = new WineEntity
            {
                Name          = "Test 4.4 Wine",
                WhenPurchased = "Test 4.4 WhenPurchased",
                //--BottlesDrank = 4,
                BottlesPurchased   = 3,
                VarietalEntityId   = varietalEntity.Id,
                BottleSizeEntityId = bottleSizeEntity.Id,
                WineryEntityId     = wineryEntity.Id,
                Vintage            = "Test 4.4 Vintage"
            };

            _dbContext.Wines.Add(wineEntity);
            _dbContext.SaveChanges( );
            var wineEntityId = wineEntity.Id;

            var wine = new Wine
            {
                Name          = "Test 4.4 Wine UPDATE",
                WhenPurchased = "Test 4.4 WhenPurchased UPDTED",
                BottlesDrank  = 2,
                Vintage       = "Test 4.4 Vintage UPDATED"
            };

            // Act
            _controller.PutWine(wineEntity.Id + 1, wine);
            var result = _dbContext.Wines.Find(wineEntity.Id);

            // Assert
            Assert.Equal(wineEntity.Name, result.Name);
        }
コード例 #2
0
        public void PutWine_Returns404NotFound_WhenUsingInvalidIWineId()
        {
            // Arrange
            // Set up associated object - Varietal.
            var varietalEntity = new VarietalEntity
            {
                Varietal = "Test 4.3 Varietal"
            };

            _dbContext.Varietals.Add(varietalEntity);

            // Set up associated object - BottleSize.
            var bottleSizeEntity = new BottleSizeEntity
            {
                // Just use default values.
            };

            _dbContext.BottleSizes.Add(bottleSizeEntity);

            // Set up associated object - Winery.
            var wineryEntity = new WineryEntity
            {
                Name = "Test 4.3 Winery"
            };

            _dbContext.Wineries.Add(wineryEntity);

            _dbContext.SaveChanges( );

            var wineEntity = new WineEntity
            {
                Name          = "Test 4.3 Wine",
                WhenPurchased = "Test 4.3 WhenPurchased",
                //--BottlesDrank = 4,
                BottlesPurchased   = 3,
                VarietalEntityId   = varietalEntity.Id,
                BottleSizeEntityId = bottleSizeEntity.Id,
                WineryEntityId     = wineryEntity.Id,
                Vintage            = "Test 4.3 Vintage"
            };

            _dbContext.Wines.Add(wineEntity);
            _dbContext.SaveChanges( );
            var wineEntityId  = wineEntity.Id;
            var invalidWineId = wineEntityId + 10;

            var wine = new Wine
            {
                Name    = "Test 4.3 Wine UPDATE",
                Vintage = "Test 4.2 Vintage UPDATED"
            };

            // Act
            var result = _controller.PutWine(invalidWineId, wine);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
コード例 #3
0
        public void PostWine_WineryCountIncremented_WhenUsingValidWine()
        {
            // Arrange
            // Set up associated object - Varietal.
            var varietalEntity = new VarietalEntity
            {
                Varietal = "Test 3.1 Varietal"
            };

            _dbContext.Varietals.Add(varietalEntity);

            // Set up associated object - BottleSize.
            var bottleSizeEntity = new BottleSizeEntity
            {
                // Just use default values.
            };

            _dbContext.BottleSizes.Add(bottleSizeEntity);

            // Set up associated object - Winery.
            var wineryEntity = new WineryEntity
            {
                Name = "Test 3.1 Winery"
            };

            _dbContext.Wineries.Add(wineryEntity);

            _dbContext.SaveChanges( );

            var wine = new Wine
            {
                Name             = "Test 3.1 Wine",
                WhenPurchased    = "Test 3.1 WhenPurchased",
                BottlesDrank     = 0,
                BottlesPurchased = 6,
                VarietalId       = varietalEntity.Id,
                BottleSizeId     = bottleSizeEntity.Id,
                WineryId         = wineryEntity.Id,
                Vintage          = "Test 3.1 Vintage"
            };

            var oldCount = _dbContext.Wines.Count( );

            // Act
            var result = _controller.PostWine(wine);

            // Assert
            Assert.Equal(oldCount + 1, _dbContext.Wines.Count( ));
        }
コード例 #4
0
        public void PostWine_ReturnsItemOfCorrectType_WhenUsingValidID()
        {
            // Set up associated object - Varietal.
            var varietalEntity = new VarietalEntity
            {
                Varietal = "Test 3.2 Varietal"
            };

            _dbContext.Varietals.Add(varietalEntity);

            // Set up associated object - BottleSize.
            var bottleSizeEntity = new BottleSizeEntity
            {
                // Just use default values.
            };

            _dbContext.BottleSizes.Add(bottleSizeEntity);

            // Set up associated object - Winery.
            var wineryEntity = new WineryEntity
            {
                Name = "Test 3.2 Winery"
            };

            _dbContext.Wineries.Add(wineryEntity);

            _dbContext.SaveChanges( );

            // Arrange
            var wine = new Wine
            {
                Name          = "Test 3.2 Wine",
                WhenPurchased = "Test 3.2 WhenPurchased",
                //--BottlesDrank = 4,
                BottlesPurchased = 4,
                VarietalId       = varietalEntity.Id,
                BottleSizeId     = bottleSizeEntity.Id,
                WineryId         = wineryEntity.Id,
                Vintage          = "Test 3.2 Vintage"
            };

            // Act
            var result = _controller.PostWine(wine);

            // Assert
            Assert.IsType <CreatedAtActionResult>(result.Result);
        }
コード例 #5
0
        public void GetVarietals_ReturnsOneVarietal_WhenDBHasOneVarietal()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 1.2 Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.SaveChanges( );

            // Act
            var results = _controller.GetVarietals( );

            //Assert
            Assert.Single(results.Value);
        }
コード例 #6
0
        public void DeleteVarietal_Returns200OK_WhenUsingValidVarietalId()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 5.2 Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.SaveChanges( );

            var varietalId = varietal.Id;

            // Act
            var result = _controller.DeleteVarietal(varietalId);

            //Assert
            Assert.Null(result.Result);
        }
コード例 #7
0
        public void GetVarietal_ReturnCorrectVarietal_WhenUsingValidID()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 2.4 Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.SaveChanges( );

            var cmdId = varietal.Id;

            // Act
            var result = _controller.GetVarietal(cmdId);

            //Assert
            Assert.Equal(cmdId, result.Value.Id);
        }
コード例 #8
0
        public void GetVarietal_ReturnsItemOfCorrectType_WhenUsingValidID()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 2.3 Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.SaveChanges( );

            var cmdId = varietal.Id;

            // Act
            var result = _controller.GetVarietal(cmdId);

            //Assert
            Assert.IsType <ActionResult <WineVarietal> >(result);
        }
コード例 #9
0
        public void DeleteVarietal_UnchangedObjectCount_WhenUsingInvalidVarietalId()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 5.4 Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.SaveChanges( );

            var varietalId = varietal.Id;
            var objCount   = _dbContext.Varietals.Count( );

            // Act
            var result = _controller.DeleteVarietal(varietalId + 1);

            //Assert
            Assert.Equal(objCount, _dbContext.Varietals.Count( ));
        }
コード例 #10
0
        public void DeleteVarietal_ObjectCountDecrementedBy1_WhenUsingValidVarietalId()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 5.1 Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.SaveChanges( );

            var varietalId = varietal.Id;
            var objCount   = _dbContext.Varietals.Count( );

            // Act
            _controller.DeleteVarietal(varietalId);

            //Assert
            Assert.Equal(objCount - 1, _dbContext.Varietals.Count( ));
        }
コード例 #11
0
        public void GetVarietals_ReturnsVarietals_WhenDBHasNVarietals()
        {
            // Arrange
            var varietal = new VarietalEntity
            {
                Varietal = "Test 1.3 Red Variwtal"
            };
            var varietal2 = new VarietalEntity
            {
                Varietal = "Test 1.3 White Varietal"
            };

            _dbContext.Varietals.Add(varietal);
            _dbContext.Varietals.Add(varietal2);
            _dbContext.SaveChanges( );

            // Act
            var results = _controller.GetVarietals( );

            //Assert
            Assert.Equal(2, results.Value.Count( ));
        }
コード例 #12
0
        public void PutWine_LinkedInfoUpdated_WhenUsingValidWineId()
        {
            // Arrange
            // Set up associated object - Varietal.
            var varietalEntity = new VarietalEntity
            {
                Varietal = "Test 4.5 Varietal"
            };
            var varietalEntity2 = new VarietalEntity
            {
                Varietal = "Test 4.5 Varietal2"
            };

            _dbContext.Varietals.Add(varietalEntity);
            _dbContext.Varietals.Add(varietalEntity2);

            // Set up associated object - BottleSize.
            var bottleSizeEntity = new BottleSizeEntity
            {
                // Just use default values.
            };
            var bottleSizeEntity2 = new BottleSizeEntity
            {
                BottleSize = "375"
            };

            _dbContext.BottleSizes.Add(bottleSizeEntity);
            _dbContext.BottleSizes.Add(bottleSizeEntity2);

            // Set up associated object - Winery.
            var wineryEntity = new WineryEntity
            {
                Name = "Test 4.1 Winery"
            };
            var wineryEntity2 = new WineryEntity
            {
                Name = "Test 4.5 Winery2"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.Wineries.Add(wineryEntity2);

            _dbContext.SaveChanges( );

            var wineEntity = new WineEntity
            {
                Name          = "Test 4.5 Wine",
                WhenPurchased = "Test 4.5 WhenPurchased",
                //--BottlesDrank = 4,
                BottlesPurchased   = 8,
                VarietalEntityId   = varietalEntity.Id,
                BottleSizeEntityId = bottleSizeEntity.Id,
                WineryEntityId     = wineryEntity.Id,
                Vintage            = "Test 4.5 Vintage"
            };

            _dbContext.Wines.Add(wineEntity);
            _dbContext.SaveChanges( );
            var wineEntityId = wineEntity.Id;

            var wine = new Wine
            {
                // Update Ids of linked records.
                BottleSizeId = bottleSizeEntity2.Id,
                VarietalId   = varietalEntity2.Id,
                WineryId     = wineryEntity2.Id
            };

            // Act
            _controller.PutWine(wineEntityId, wine);
            var result = _dbContext.Wines.Find(wineEntityId);

            // Assert
            Assert.Equal(wine.VarietalId, result.VarietalEntityId);
            Assert.Equal(wine.BottleSizeId, result.BottleSizeEntityId);
            Assert.Equal(wine.WineryId, result.WineryEntityId);
            Assert.Equal(bottleSizeEntity2.BottleSize, result.BottleSize.BottleSize);
            Assert.Equal(varietalEntity2.Varietal, result.Varietal.Varietal);
            Assert.Equal(wineryEntity2.Name, result.Winery.Name);
        }