Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using DeliverIT.Data;
- using DeliverIT.Services.Exceptions;
- using DeliverIT.Services.Services;
- using DeliverIT.Services.Services.Models;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace DeliverIT.Tests.ServicesTests.CustomerServiceTests
- {
- [TestClass]
- public class Get_Should
- {
- [TestMethod]
- public void ReturnCorrectCustomerWhenGetting()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerWhenGetting));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.Get(1);
- //Assert
- Assert.AreEqual(customers[0].AddressID, result.AddressID);
- Assert.AreEqual(customers[0].Email, result.Email);
- Assert.AreEqual(customers[0].FirstName, result.FirstName);
- Assert.AreEqual(customers[0].LastName, result.LastName);
- Assert.AreEqual(customers[0].CustomerID, result.CustomerID);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerWhenGettingAndPassingAnother()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerWhenGettingAndPassingAnother));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.Get(1, 1);
- //Assert
- Assert.AreEqual(customers[0].AddressID, result.AddressID);
- Assert.AreEqual(customers[0].Email, result.Email);
- Assert.AreEqual(customers[0].FirstName, result.FirstName);
- Assert.AreEqual(customers[0].LastName, result.LastName);
- Assert.AreEqual(customers[0].CustomerID, result.CustomerID);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ThrowWhenCustomerIsNullWhenGetting()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ThrowWhenCustomerIsNullWhenGetting));
- using (var context = new Database(options))
- {
- var sut = new CustomerServices(context);
- //Act & Assert
- Assert.ThrowsException<ObjectNotFoundException>(() => sut.Get(1));
- context.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ThrowWhenCustomerIsNullWhenGettingAndPassingAnotherCustomer()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ThrowWhenCustomerIsNullWhenGettingAndPassingAnotherCustomer));
- using (var context = new Database(options))
- {
- var sut = new CustomerServices(context);
- //Act & Assert
- Assert.ThrowsException<ObjectNotFoundException>(() => sut.Get(1, 1));
- context.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerCollection()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerCollection));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.GetAll(new Search());
- //Assert
- Assert.AreEqual(customers[0].AddressID, result.First().AddressID);
- Assert.AreEqual(customers[0].Email, result.First().Email);
- Assert.AreEqual(customers[0].FirstName, result.First().FirstName);
- Assert.AreEqual(customers[0].LastName, result.First().LastName);
- Assert.AreEqual(customers[0].CustomerID, result.First().CustomerID);
- Assert.AreEqual(customers[1].AddressID, result.Last().AddressID);
- Assert.AreEqual(customers[1].Email, result.Last().Email);
- Assert.AreEqual(customers[1].FirstName, result.Last().FirstName);
- Assert.AreEqual(customers[1].LastName, result.Last().LastName);
- Assert.AreEqual(customers[1].CustomerID, result.Last().CustomerID);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerCollectionCount()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerCollectionCount));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.GetAll(new Search());
- //Assert
- Assert.AreEqual(customers.Count, result.Count());
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCountOfCustomers()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCountOfCustomers));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.GetCount();
- //Assert
- Assert.AreEqual(customers.Count, result);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerByEmail()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerByEmail));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.GetCustomerByEmail(customers[0].Email);
- //Assert
- Assert.AreEqual(customers[0].AddressID, result.AddressID);
- Assert.AreEqual(customers[0].Email, result.Email);
- Assert.AreEqual(customers[0].FirstName, result.FirstName);
- Assert.AreEqual(customers[0].LastName, result.LastName);
- Assert.AreEqual(customers[0].CustomerID, result.CustomerID);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerIncomingParcel()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerIncomingParcel));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- var parcels = Utils.GetParcels();
- var shipments = Utils.GetShipments();
- var parcelCategories = Utils.GetParcelCategories();
- var statuses = Utils.GetStatus();
- var warehouses = Utils.GetWarehouses();
- var employees = Utils.GetEmployees();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.Statuses.AddRange(statuses);
- arrangeContext.Warehouses.AddRange(warehouses);
- arrangeContext.Shipments.AddRange(shipments);
- arrangeContext.Parcels.AddRange(parcels);
- arrangeContext.Employees.AddRange(employees);
- arrangeContext.ParcelCategories.AddRange(parcelCategories);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.IncommingParcels(1);
- //Assert
- Assert.AreEqual(parcels[0].ParcelID, result.First().ParcelID);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerIncomingParcelCorrectCount()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerIncomingParcelCorrectCount));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- var parcels = Utils.GetParcels();
- var shipments = Utils.GetShipments();
- var parcelCategories = Utils.GetParcelCategories();
- var statuses = Utils.GetStatus();
- var warehouses = Utils.GetWarehouses();
- var employees = Utils.GetEmployees();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.Statuses.AddRange(statuses);
- arrangeContext.Warehouses.AddRange(warehouses);
- arrangeContext.Shipments.AddRange(shipments);
- arrangeContext.Parcels.AddRange(parcels);
- arrangeContext.Employees.AddRange(employees);
- arrangeContext.ParcelCategories.AddRange(parcelCategories);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.IncommingParcels(1);
- //Assert
- Assert.AreEqual(1, result.Count());
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerPastParcel()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerPastParcel));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- var parcels = Utils.GetParcels();
- var shipments = Utils.GetShipments();
- var parcelCategories = Utils.GetParcelCategories();
- var statuses = Utils.GetStatus();
- var warehouses = Utils.GetWarehouses();
- var employees = Utils.GetEmployees();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.Statuses.AddRange(statuses);
- arrangeContext.Warehouses.AddRange(warehouses);
- arrangeContext.Shipments.AddRange(shipments);
- arrangeContext.Parcels.AddRange(parcels);
- arrangeContext.Employees.AddRange(employees);
- arrangeContext.ParcelCategories.AddRange(parcelCategories);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.GetPastParcels(1);
- //Assert
- Assert.AreEqual(parcels[1].ParcelID, result.First().ParcelID);
- actContext.Database.EnsureDeleted();
- }
- }
- [TestMethod]
- public void ReturnCorrectCustomerPastParcelCorrectCount()
- {
- //Arrange
- var options = Utils.GetOptions(nameof(ReturnCorrectCustomerPastParcelCorrectCount));
- var cities = Utils.GetCities();
- var countries = Utils.GetCountries();
- var addresses = Utils.GetAddresses();
- var customers = Utils.GetCustomers();
- var parcels = Utils.GetParcels();
- var shipments = Utils.GetShipments();
- var parcelCategories = Utils.GetParcelCategories();
- var statuses = Utils.GetStatus();
- var warehouses = Utils.GetWarehouses();
- var employees = Utils.GetEmployees();
- using (var arrangeContext = new Database(options))
- {
- arrangeContext.Countries.AddRange(countries);
- arrangeContext.Cities.AddRange(cities);
- arrangeContext.Addresses.AddRange(addresses);
- arrangeContext.Customers.AddRange(customers);
- arrangeContext.Statuses.AddRange(statuses);
- arrangeContext.Warehouses.AddRange(warehouses);
- arrangeContext.Shipments.AddRange(shipments);
- arrangeContext.Parcels.AddRange(parcels);
- arrangeContext.Employees.AddRange(employees);
- arrangeContext.ParcelCategories.AddRange(parcelCategories);
- arrangeContext.SaveChanges();
- }
- using (var actContext = new Database(options))
- {
- var sut = new CustomerServices(actContext);
- //Act
- var result = sut.GetPastParcels(1);
- //Assert
- Assert.AreEqual(1, result.Count());
- actContext.Database.EnsureDeleted();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement