public void Add_Country_Using_Level_Two_Admin_Should_Throw_NotAllowedAdminActionException()
        {
            Init_Admin_Level_One_And_Login();
            Execute_Test(() =>
            {
                Country demi_country = TestData.Get_Countries_Data()[0];

                Assert.ThrowsException <NotAllowedAdminActionException>(() => administrator_level_one_facade.CreateNewCountry(administrator_level_one_token, demi_country));
            });
        }
        public void Create_Two_Countries_With_Same_Name()
        {
            Execute_Test(() =>
            {
                Country demi_country = TestData.Get_Countries_Data()[0];

                int country_id = administrator_facade.CreateNewCountry(administrator_token, demi_country);
                Assert.AreEqual(country_id, 1);

                Assert.ThrowsException <RecordAlreadyExistsException>(() => administrator_facade.CreateNewCountry(administrator_token, demi_country));
            });
        }
        public void Create_And_Get_New_Country()
        {
            Execute_Test(() =>
            {
                Country demi_country = TestData.Get_Countries_Data()[0];
                int country_id       = administrator_facade.CreateNewCountry(administrator_token, demi_country);
                Assert.AreEqual(country_id, 1);
                demi_country.Id         = country_id;
                Country country_from_db = administrator_facade.GetCountryById(country_id);

                TestData.CompareProps(country_from_db, demi_country);
            });
        }
        public void Remove_Country()
        {
            Execute_Test(() =>
            {
                Country demi_country = TestData.Get_Countries_Data()[0];
                int country_id       = administrator_facade.CreateNewCountry(administrator_token, demi_country);

                demi_country.Id = country_id;

                administrator_facade.RemoveCountry(administrator_token, demi_country);

                Assert.AreEqual(administrator_facade.GetAllCountries().Count, 0);
            });
        }
        public void Update_Country_With_Same_Name()
        {
            Execute_Test(() =>
            {
                Country demi_country  = TestData.Get_Countries_Data()[0];
                Country demi_country2 = TestData.Get_Countries_Data()[1];

                int country_id  = administrator_facade.CreateNewCountry(administrator_token, demi_country);
                int country_id2 = administrator_facade.CreateNewCountry(administrator_token, demi_country2);

                demi_country2.Id   = country_id2;
                demi_country2.Name = demi_country.Name;

                Assert.ThrowsException <RecordAlreadyExistsException>(() => administrator_facade.UpdateCountryDetails(administrator_token, demi_country2));
            });
        }
Ejemplo n.º 6
0
        private void Init_Anonymous_Data()
        {
            _logger.Debug($"Start Init Anonymous Tests Data");

            TestsDAOPGSQL.ClearDB();
            string username = "******";
            string password = "******";

            system.TryLogin(username, password, out ILoginToken admin_token, out FacadeBase admin_facade);
            LoggedInAdministratorFacade loggedInAdministratorFacade = admin_facade as LoggedInAdministratorFacade;
            LoginToken <Administrator>  adminLoginToken             = admin_token as LoginToken <Administrator>;
            int country_id = loggedInAdministratorFacade.CreateNewCountry(adminLoginToken, TestData.Get_Countries_Data()[0]);

            loggedInAdministratorFacade.CreateNewCountry(adminLoginToken, TestData.Get_Countries_Data()[1]);
            loggedInAdministratorFacade.CreateNewCountry(adminLoginToken, TestData.Get_Countries_Data()[2]);
            loggedInAdministratorFacade.CreateNewCustomer(adminLoginToken, TestData.Get_Customers_Data()[0]);
            AirlineCompany airlineCompany = TestData.Get_AirlineCompanies_Data()[0];

            airlineCompany.CountryId = country_id;
            loggedInAdministratorFacade.CreateNewAirlineCompany(adminLoginToken, airlineCompany);
            system.TryLogin(TestData.Get_AirlineCompanies_Data()[0].User.UserName, TestData.Get_AirlineCompanies_Data()[0].User.Password, out ILoginToken token, out FacadeBase facade);
            LoginToken <AirlineCompany> airline_token  = token as LoginToken <AirlineCompany>;
            LoggedInAirlineFacade       airline_facade = facade as LoggedInAirlineFacade;
            Flight flight  = TestData.Get_Flights_Data_For_Anonymous_Tests()[0];
            Flight flight2 = TestData.Get_Flights_Data_For_Anonymous_Tests()[1];
            Flight flight3 = TestData.Get_Flights_Data_For_Anonymous_Tests()[2];
            Flight flight4 = TestData.Get_Flights_Data_For_Anonymous_Tests()[3];
            Flight flight5 = TestData.Get_Flights_Data_For_Anonymous_Tests()[4];
            Flight flight6 = TestData.Get_Flights_Data_For_Anonymous_Tests()[5];

            long flight_id  = airline_facade.CreateFlight(airline_token, flight);
            long flight_id2 = airline_facade.CreateFlight(airline_token, flight2);
            long flight_id3 = airline_facade.CreateFlight(airline_token, flight3);
            long flight_id4 = airline_facade.CreateFlight(airline_token, flight4);
            long flight_id5 = airline_facade.CreateFlight(airline_token, flight5);
            long flight_id6 = airline_facade.CreateFlight(airline_token, flight6);

            flight.Id  = flight_id;
            flight2.Id = flight_id2;
            flight3.Id = flight_id3;
            flight4.Id = flight_id4;
            flight5.Id = flight_id5;
            flight6.Id = flight_id6;

            _logger.Debug($"End Init Anonymous Tests Data");
        }
        public void Update_Country()
        {
            Execute_Test(() =>
            {
                Country demi_country = TestData.Get_Countries_Data()[0];
                int country_id       = administrator_facade.CreateNewCountry(administrator_token, demi_country);

                demi_country.Id   = country_id;
                demi_country.Name = "Some other name";

                administrator_facade.UpdateCountryDetails(administrator_token, demi_country);

                Country updated_country = administrator_facade.GetCountryById(country_id);

                TestData.CompareProps(demi_country, updated_country);
            });
        }
        private void Init_Customer_Facade_Data()
        {
            _logger.Debug($"Start Init Customer Tests Data");

            string username = "******";
            string password = "******";

            system.TryLogin(username, password, out ILoginToken admin_token, out FacadeBase admin_facade);
            LoggedInAdministratorFacade loggedInAdministratorFacade = admin_facade as LoggedInAdministratorFacade;
            LoginToken <Administrator>  adminLoginToken             = admin_token as LoginToken <Administrator>;
            int country_id = loggedInAdministratorFacade.CreateNewCountry(adminLoginToken, TestData.Get_Countries_Data()[0]);

            loggedInAdministratorFacade.CreateNewCountry(adminLoginToken, TestData.Get_Countries_Data()[1]);
            loggedInAdministratorFacade.CreateNewCountry(adminLoginToken, TestData.Get_Countries_Data()[2]);
            loggedInAdministratorFacade.CreateNewCustomer(adminLoginToken, TestData.Get_Customers_Data()[0]);
            loggedInAdministratorFacade.CreateNewCustomer(adminLoginToken, TestData.Get_Customers_Data()[1]);

            AirlineCompany airlineCompany = TestData.Get_AirlineCompanies_Data()[0];

            airlineCompany.CountryId = country_id;
            loggedInAdministratorFacade.CreateNewAirlineCompany(adminLoginToken, airlineCompany);
            system.TryLogin(airlineCompany.User.UserName, airlineCompany.User.Password, out ILoginToken airline_token, out FacadeBase airline_facade);
            LoggedInAirlineFacade       loggedInAirlineFacade = airline_facade as LoggedInAirlineFacade;
            LoginToken <AirlineCompany> airlineLoginToken     = airline_token as LoginToken <AirlineCompany>;
            Flight flight  = TestData.Get_Flights_Data()[3];
            Flight flight2 = TestData.Get_Flights_Data()[4];
            Flight flight3 = TestData.Get_Flights_Data()[5];

            long flight_id  = loggedInAirlineFacade.CreateFlight(airlineLoginToken, flight);
            long flight_id2 = loggedInAirlineFacade.CreateFlight(airlineLoginToken, flight2);
            long flight_id3 = loggedInAirlineFacade.CreateFlight(airlineLoginToken, flight3);

            flight.Id  = flight_id;
            flight2.Id = flight_id2;
            flight3.Id = flight_id3;

            system.TryLogin(TestData.Get_Customers_Data()[1].User.UserName, TestData.Get_Customers_Data()[1].User.Password, out ILoginToken token, out FacadeBase facade);
            LoginToken <Customer>  cust_token  = token as LoginToken <Customer>;
            LoggedInCustomerFacade cust_facade = facade as LoggedInCustomerFacade;

            cust_facade.PurchaseTicket(cust_token, flight);

            Login(TestData.Get_Customers_Data()[0].User.UserName, TestData.Get_Customers_Data()[0].User.Password);

            _logger.Debug($"End Init Customer Tests Data");
        }
        public void Create_And_Get_List_Of_New_Countries()
        {
            Execute_Test(() =>
            {
                Country[] data           = TestData.Get_Countries_Data();
                Country[] demi_countries = { data[0], data[1], data[2], data[3], data[4] };
                for (int i = 0; i < demi_countries.Length; i++)
                {
                    int country_id = administrator_facade.CreateNewCountry(administrator_token, demi_countries[i]);
                    Assert.AreEqual(country_id, i + 1);
                    demi_countries[i].Id = country_id;
                }

                IList <Country> countries_from_db = administrator_facade.GetAllCountries();
                Assert.AreEqual(demi_countries.Length, countries_from_db.Count);
                for (int i = 0; i < countries_from_db.Count; i++)
                {
                    TestData.CompareProps(countries_from_db[i], demi_countries[i]);
                }
            });
        }
        public void Remove_Airline_Company_Using_Level_One_Admin()
        {
            Init_Admin_Level_One_And_Login();
            Execute_Test(() =>
            {
                int country_id = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);

                AirlineCompany demi_airline_company = TestData.Get_AirlineCompanies_Data()[0];
                demi_airline_company.CountryId      = country_id;
                long airline_company_id             = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_company);

                demi_airline_company.Id = airline_company_id;

                Assert.ThrowsException <NotAllowedAdminActionException>(() => administrator_level_one_facade.RemoveAirline(administrator_level_one_token, demi_airline_company));
            });
        }
        public void Remove_Airline_Company_With_Flight_And_Ticket()
        {
            Execute_Test(() =>
            {
                int country_id  = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);
                int country_id2 = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[1]);
                int country_id3 = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[2]);

                AirlineCompany demi_airline_company = TestData.Get_AirlineCompanies_Data()[0];
                demi_airline_company.CountryId      = country_id;
                long airline_company_id             = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_company);
                demi_airline_company.Id             = airline_company_id;

                system.TryLogin(demi_airline_company.User.UserName, demi_airline_company.User.Password, out ILoginToken token, out FacadeBase facade);
                LoggedInAirlineFacade airlineFacade      = facade as LoggedInAirlineFacade;
                LoginToken <AirlineCompany> airlineToken = token as LoginToken <AirlineCompany>;

                Flight demi_flight = TestData.Get_Flights_Data()[0];
                long flight_id     = airlineFacade.CreateFlight(airlineToken, demi_flight);
                demi_flight.Id     = flight_id;

                Customer demi_customer = TestData.Get_Customers_Data()[0];
                demi_customer.Id       = administrator_facade.CreateNewCustomer(administrator_token, demi_customer);

                system.TryLogin(demi_customer.User.UserName, demi_customer.User.Password, out ILoginToken token2, out FacadeBase facade2);
                LoggedInCustomerFacade customerFacade = facade2 as LoggedInCustomerFacade;
                LoginToken <Customer> customerToken   = token2 as LoginToken <Customer>;

                Ticket ticket = customerFacade.PurchaseTicket(customerToken, demi_flight);

                administrator_facade.RemoveAirline(administrator_token, demi_airline_company);

                Assert.AreEqual(administrator_facade.GetAllAirlineCompanies().Count, 0);
                Assert.AreEqual(administrator_facade.GetAllFlights().Count, 0);
                Assert.AreEqual(airlineFacade.GetAllTickets(airlineToken).Count, 0);
                Assert.AreEqual(airlineFacade.GetFlightHistoryByOriginalId(airlineToken, demi_flight.Id).Id, 1);
                Assert.AreEqual(customerFacade.GetTicketHistoryByOriginalId(customerToken, ticket.Id).Id, 1);
            });
        }
        public void Remove_Airline_Company()
        {
            Execute_Test(() =>
            {
                int country_id = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);

                AirlineCompany demi_airline_company = TestData.Get_AirlineCompanies_Data()[0];
                demi_airline_company.CountryId      = country_id;
                long airline_company_id             = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_company);

                demi_airline_company.Id = airline_company_id;

                administrator_facade.RemoveAirline(administrator_token, demi_airline_company);

                Assert.AreEqual(administrator_facade.GetAllAirlineCompanies().Count, 0);
            });
        }
        public void Update_Airline_With_CountryId_That_Not_Exists()
        {
            Execute_Test(() =>
            {
                int country_id = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);

                AirlineCompany demi_airline_company = TestData.Get_AirlineCompanies_Data()[0];

                demi_airline_company.CountryId = country_id;
                long airline_company_id        = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_company);

                demi_airline_company.Id        = airline_company_id;
                demi_airline_company.CountryId = 99;

                Assert.ThrowsException <RelatedRecordNotExistsException>(() => administrator_facade.UpdateAirlineDetails(administrator_token, demi_airline_company));
            });
        }
        public void Update_Airline()
        {
            Execute_Test(() =>
            {
                int country_id  = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);
                int country_id2 = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[1]);

                AirlineCompany demi_airline_company = TestData.Get_AirlineCompanies_Data()[0];

                demi_airline_company.CountryId = country_id;
                long airline_company_id        = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_company);
                demi_airline_company.Id        = airline_company_id;
                demi_airline_company.Name      = "Changed name";
                demi_airline_company.CountryId = country_id2;

                administrator_facade.UpdateAirlineDetails(administrator_token, demi_airline_company);

                AirlineCompany updated_airline_company = administrator_facade.GetAirlineCompanyById(airline_company_id);

                TestData.CompareProps(demi_airline_company, updated_airline_company);
            });
        }
        public void Create_And_Get_List_Of_New_Airlines()
        {
            Execute_Test(() =>
            {
                int country_id  = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);
                int country_id2 = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[2]);
                int country_id3 = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[5]);


                AirlineCompany[] data = TestData.Get_AirlineCompanies_Data();
                AirlineCompany[] demi_airline_companies = { data[0], data[1], data[2] };
                demi_airline_companies[0].CountryId     = country_id;
                demi_airline_companies[1].CountryId     = country_id2;
                demi_airline_companies[2].CountryId     = country_id3;
                for (int i = 0; i < demi_airline_companies.Length; i++)
                {
                    long airline_company_id = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_companies[i]);
                    Assert.AreEqual(airline_company_id, i + 1);
                    demi_airline_companies[i].Id = airline_company_id;
                }

                IList <AirlineCompany> airline_companies_from_db = administrator_facade.GetAllAirlineCompanies();
                Assert.AreEqual(demi_airline_companies.Length, airline_companies_from_db.Count);
                for (int i = 0; i < airline_companies_from_db.Count; i++)
                {
                    TestData.CompareProps(airline_companies_from_db[i], demi_airline_companies[i]);
                }
            });
        }
        public void Create_And_Get_New_Airline()
        {
            Execute_Test(() =>
            {
                int country_id = administrator_facade.CreateNewCountry(administrator_token, TestData.Get_Countries_Data()[0]);

                AirlineCompany demi_airline_company = TestData.Get_AirlineCompanies_Data()[0];
                demi_airline_company.CountryId      = country_id;
                long airline_company_id             = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airline_company);
                Assert.AreEqual(airline_company_id, 1);
                demi_airline_company.Id = airline_company_id;
                AirlineCompany airline_company_from_db = administrator_facade.GetAirlineCompanyById(airline_company_id);

                TestData.CompareProps(airline_company_from_db, demi_airline_company);
            });
        }