示例#1
0
        public async Task CitiesServiceEditShould_ChangeCityName()
        {
            // Arrange
            var db = this.GetDatabase();

            var firstCity = new City {
                Id = 1, Name = "New York"
            };
            var secondCity = new City {
                Id = 2, Name = "Sofia"
            };
            var thirdCity = new City {
                Id = 3, Name = "Argentina"
            };

            db.AddRange(firstCity, secondCity, thirdCity);

            await db.SaveChangesAsync();

            var adminCityService = new AdminCityService(db);

            // Act
            await adminCityService.Edit(1, "Varna");

            // Assert
            db.Cities.FirstOrDefault(c => c.Id == 1).Name.Should().Be("Varna");
        }
示例#2
0
        public async Task CitiesServiceExistsByIdAsyncShould_ReturnCorrectModel()
        {
            // Arrange
            var db = this.GetDatabase();

            var firstCity = new City {
                Id = 1, Name = "New York"
            };
            var secondCity = new City {
                Id = 2, Name = "Sofia"
            };
            var thirdCity = new City {
                Id = 3, Name = "Argentina"
            };

            db.AddRange(firstCity, secondCity, thirdCity);

            await db.SaveChangesAsync();

            var adminCityService = new AdminCityService(db);

            // Act
            var result = await adminCityService.ByIdAsync(2);

            // Assert
            result.Should().BeAssignableTo <AdminCityEditServiceModel>();
            result.Name.Should().Be("Sofia");
        }
示例#3
0
        public async Task CitiesServiceExistsByNameWithDifferentIdAsyncShould_ReturnFalse()
        {
            // Arrange
            var db = this.GetDatabase();

            var firstCity = new City {
                Id = 1, Name = "New York"
            };
            var secondCity = new City {
                Id = 2, Name = "Sofia"
            };
            var thirdCity = new City {
                Id = 3, Name = "Argentina"
            };

            db.AddRange(firstCity, secondCity, thirdCity);

            await db.SaveChangesAsync();

            var adminCityService = new AdminCityService(db);

            // Act
            var result = await adminCityService.ExistsByNameWithDifferentIdAsync(2, "Sofia");

            // Assert
            result.Should().Be(false);
        }
示例#4
0
        public async Task CitiesServiceAllAsyncShould_ReturnCorrentResult()
        {
            // Arrange
            var db = this.GetDatabase();

            var firstCity = new City {
                Id = 1, Name = "New York"
            };
            var secondCity = new City {
                Id = 2, Name = "Sofia"
            };
            var thirdCity = new City {
                Id = 3, Name = "Argentina"
            };

            db.AddRange(firstCity, secondCity, thirdCity);

            await db.SaveChangesAsync();

            var adminCityService = new AdminCityService(db);

            // Act
            var result = await adminCityService.AllAsync();

            // Assert
            result
            .Should()
            .Match(r => r.ElementAt(0).Id == 3 &&
                   r.ElementAt(1).Id == 1 &&
                   r.ElementAt(2).Id == 2)
            .And.HaveCount(3);
        }
示例#5
0
        public async Task CitiesServiceExistsByNameAsyncShould_ReturnTrue()
        {
            // Arrange
            var db = this.GetDatabase();

            var firstCity = new City {
                Name = "New York"
            };
            var secondCity = new City {
                Name = "Sofia"
            };
            var thirdCity = new City {
                Name = "Argentina"
            };

            db.AddRange(firstCity, secondCity, thirdCity);

            await db.SaveChangesAsync();

            var adminCityService = new AdminCityService(db);

            // Act
            var result = await adminCityService.ExistsByNameAsync("nEW yOrK");

            // Assert
            result.Should().Be(true);
        }
示例#6
0
        public async Task CitiesServiceCreateShould_AddNewCityToTheDatabase()
        {
            // Arrange
            var db = this.GetDatabase();

            var firstCity = new City {
                Name = "New York"
            };
            var secondCity = new City {
                Name = "Sofia"
            };
            var thirdCity = new City {
                Name = "Argentina"
            };

            db.AddRange(firstCity, secondCity, thirdCity);

            await db.SaveChangesAsync();

            var adminCityService = new AdminCityService(db);

            // Act
            await adminCityService.Create("Varna");

            // Assert
            db.Cities
            .Should()
            .HaveCount(4)
            .And
            .Subject
            .Should()
            .Match(c =>
                   c.ElementAt(0).Name == firstCity.Name &&
                   c.ElementAt(1).Name == secondCity.Name &&
                   c.ElementAt(2).Name == thirdCity.Name &&
                   c.ElementAt(3).Name == "Varna"
                   );
        }