Example #1
0
        public void GetWinery_ReturnsWineries_WhenDBHasMultipleWioneries()
        {
            // Arrange
            var winery1 = new WineryEntity
            {
                Name    = "Winery1 Name",
                WebSite = "Winery1 Web Site",
                EMail   = "Winery1 EMail",
                Phone   = "Winery1 Phone"
            };
            var winery2 = new WineryEntity
            {
                Name    = "Winery2 Name",
                WebSite = "Winery2 Web Site",
                EMail   = "Winery2 EMail",
                Phone   = "Winery2 Phone"
            };

            _dbContext.Wineries.Add(winery1);
            _dbContext.Wineries.Add(winery2);
            _dbContext.SaveChanges( );

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

            // Assert
            Assert.Equal(2, results.Value.Count( ));
        }
Example #2
0
        public void PutWinery_Returns404NotFound_WhenUsingInvalidIWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.3 Winery",
                WebSite = "Test 4.3 Web Site",
                EMail   = "Test 4.3 EMail",
                Phone   = "Test 4.3 Phone"
            };

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

            var wineryId = wineryEntity.Id + 1;         // force an invalid record Id

            var winery = new Winery
            {
                Name    = "Test 4.3 Winery",
                WebSite = "Test 4.3 Web Site UPDATED",
                EMail   = "Test 4.3 EMail",
                Phone   = "Test 4.3 Phone"
            };

            // Act
            var result = _controller.PutWinery(wineryId, winery);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
Example #3
0
        public void PutWinery_AttributesUnchanged_WhenUsingInvalidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.4 Winery",
                WebSite = "Test 4.4 Web Site",
                EMail   = "Test 4.4 EMail",
                Phone   = "Test 4.4 Phone"
            };

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

            var winery = new Winery
            {
                Name    = "Test 4.4 Winery UPDATE",
                WebSite = "Test 4.4 Web Site UPDATE",
                EMail   = "Test 4.4 EMail UPDATE",
                Phone   = "Test 4.4 Phone UPDATE"
            };

            // Act
            _controller.PutWinery(wineryEntity.Id + 1, winery);
            var result = _dbContext.Wineries.Find(wineryEntity.Id);

            // Assert
            Assert.Equal(wineryEntity.Name, result.Name);
        }
Example #4
0
        public void PutWinery_AttributesUpdated_WhenUsingValidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.1 Winery",
                WebSite = "Test 4.1 Web Site",
                EMail   = "Test 4.1 EMail",
                Phone   = "Test 4.1 Phone"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.SaveChanges( );
            var wineryEntityId = wineryEntity.Id;

            var winery = new Winery
            {
                Name    = "Test 4.1 Winery UPDATED",
                WebSite = "Test 4.1 Web Site UPDATED",
                EMail   = "Test 4.1 EMail UPDATED",
                Phone   = "Test 4.1 Phone UPDATED"
            };

            // Act
            _controller.PutWinery(wineryEntityId, winery);
            var result = _dbContext.Wineries.Find(wineryEntityId);

            // Assert
            Assert.Equal(winery.Name, result.Name);
            Assert.Equal(winery.WebSite, result.WebSite);
            Assert.Equal(winery.EMail, result.EMail);
            Assert.Equal(winery.Phone, result.Phone);
        }
Example #5
0
        public void PutWinery_ReturnsItemOfCorrectType_WhenUsingValidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 4.2 Winery",
                WebSite = "Test 4.2 Web Site",
                EMail   = "Test 4.2 EMail",
                Phone   = "Test 4.2 Phone"
            };

            _dbContext.Wineries.Add(wineryEntity);
            _dbContext.SaveChanges( );
            var wineryEntityId = wineryEntity.Id;

            var winery = new Winery
            {
                Name    = "Test 4.2 Winery",
                WebSite = "Test 4.2 Web Site",
                EMail   = "Test 4.2 EMail",
                Phone   = "Test 4.2 Phone UPDATED"
            };

            // Act
            var result = _controller.PutWinery(wineryEntityId, winery);

            // Assert
            Assert.IsType <NoContentResult>(result);
        }
        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);
        }
        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);
        }
        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( ));
        }
        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);
        }
Example #10
0
        public void GetWineries_ReturnsOneWinery_WhenDBHasOneWinery()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Winery Name",
                WebSite = "Winery Web Site",
                EMail   = "Winery EMail",
                Phone   = "Winery Phone"
            };

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

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

            // Assert
            Assert.Single(results.Value);
        }
Example #11
0
        public void DeleteWinery_Returns200OK_WhenUsingValidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 5.2 Winery",
                WebSite = "Test 5.2 Web Site",
                EMail   = "Test 5.2 EMail",
                Phone   = "Test 5.2 Phone"
            };

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

            var wineryId = wineryEntity.Id;

            // Act
            var result = _controller.DeleteWinery(wineryId);

            // Assert
            Assert.Null(result.Result);
        }
Example #12
0
        public void GetWinery_ReturnCorrectWinery_WhenUsingValidID()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 2.4 Winery",
                WebSite = "Test 2.4 Web Site",
                EMail   = "Test 2.4 EMail",
                Phone   = "Test 2.4 Phone"
            };

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

            var cmdId = wineryEntity.Id;

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

            // Assert
            Assert.Equal(cmdId, result.Value.Id);
        }
Example #13
0
        public void GetWinery_ReturnsItemOfCorrectType_WhenUsingValidID()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 2.3 Winery",
                WebSite = "Test 2.3 Web Site",
                EMail   = "Test 2.3 EMail",
                Phone   = "Test 2.3 Phone"
            };

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

            var wineryEntityId = wineryEntity.Id;

            // Act
            var result = _controller.GetWinery(wineryEntityId);

            // Assert
            Assert.IsType <ActionResult <Winery> >(result);
        }
Example #14
0
        public void DeleteWinery_UnchangedObjectCount_WhenUsingInvalidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 5.4 Winery",
                WebSite = "Test 5.4 Web Site",
                EMail   = "Test 5.4 EMail",
                Phone   = "Test 5.4 Phone"
            };

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

            var wineryId = wineryEntity.Id;
            var objCount = _dbContext.Wineries.Count( );

            // Act
            var result = _controller.DeleteWinery(wineryId + 1);

            // Assert
            Assert.Equal(objCount, _dbContext.Wineries.Count( ));
        }
Example #15
0
        public void DeleteWinery_ObjectCountDecrementedBy1_WhenUsingValidWineryId()
        {
            // Arrange
            var wineryEntity = new WineryEntity
            {
                Name    = "Test 5.1 Winery",
                WebSite = "Test 5.1 Web Site",
                EMail   = "Test 5.1 EMail",
                Phone   = "Test 5.1 Phone"
            };

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

            var wineryId = wineryEntity.Id;
            var objCount = _dbContext.Wineries.Count( );

            // Act
            _controller.DeleteWinery(wineryId);

            // Assert
            Assert.Equal(objCount - 1, _dbContext.Wineries.Count( ));
        }
        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);
        }