public void Remove_Customer_Using_Level_One_Admin_Should_Throw_NotAllowedAdminActionException()
        {
            Init_Admin_Level_One_And_Login();
            Execute_Test(() =>
            {
                Customer demi_customer = TestData.Get_Customers_Data()[0];
                long customer_id       = administrator_facade.CreateNewCustomer(administrator_token, demi_customer);

                demi_customer.Id = customer_id;

                Assert.ThrowsException <NotAllowedAdminActionException>(() => administrator_level_one_facade.RemoveCustomer(administrator_level_one_token, demi_customer));
            });
        }
        public void Create_And_Get_New_Customer()
        {
            Execute_Test(() =>
            {
                Customer demi_customer = TestData.Get_Customers_Data()[0];
                long customer_id       = administrator_facade.CreateNewCustomer(administrator_token, demi_customer);
                Assert.AreEqual(customer_id, 1);
                demi_customer.Id          = customer_id;
                Customer customer_from_db = administrator_facade.GetCustomerById(administrator_token, customer_id);

                TestData.CompareProps(customer_from_db, demi_customer);
            });
        }
        public void Remove_Customer()
        {
            Execute_Test(() =>
            {
                Customer demi_customer = TestData.Get_Customers_Data()[0];
                long customer_id       = administrator_facade.CreateNewCustomer(administrator_token, demi_customer);

                demi_customer.Id = customer_id;

                administrator_facade.RemoveCustomer(administrator_token, demi_customer);

                Assert.AreEqual(administrator_facade.GetAllCustomers(administrator_token).Count, 0);
            });
        }
        public void Create_Two_Customers_With_Same_Phone_Number()
        {
            Execute_Test(() =>
            {
                Customer demi_customer = TestData.Get_Customers_Data()[0];
                Customer demi_customer_with_same_phone_number = TestData.Get_Customers_Data()[3];

                long customer_id = administrator_facade.CreateNewCustomer(administrator_token, demi_customer);
                Assert.AreEqual(customer_id, 1);
                Assert.AreEqual(demi_customer.User.Id, 1);

                Assert.ThrowsException <RecordAlreadyExistsException>(() => administrator_facade.CreateNewCustomer(administrator_token, demi_customer_with_same_phone_number));
            });
        }
Esempio n. 5
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");
        }
        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 Update_Customer()
        {
            Execute_Test(() =>
            {
                Customer demi_customer = TestData.Get_Customers_Data()[0];

                long customer_id               = administrator_facade.CreateNewCustomer(administrator_token, demi_customer);
                demi_customer.Id               = customer_id;
                demi_customer.FirstName        = "Changed";
                demi_customer.LastName         = "Name";
                demi_customer.Address          = "Changed Address";
                demi_customer.CreditCardNumber = "11111111111111111111111";
                demi_customer.PhoneNumber      = "11111111111";

                administrator_facade.UpdateCustomerDetails(administrator_token, demi_customer);

                Customer updated_customer = administrator_facade.GetCustomerById(administrator_token, customer_id);

                TestData.CompareProps(demi_customer, updated_customer);
            });
        }
        public void Remove_Customer_With_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_airlineCompany = TestData.Get_AirlineCompanies_Data()[0];
                demi_airlineCompany.CountryId      = country_id;
                long airline_company_id            = administrator_facade.CreateNewAirlineCompany(administrator_token, demi_airlineCompany);
                demi_airlineCompany.Id             = airline_company_id;

                system.TryLogin(demi_airlineCompany.User.UserName, demi_airlineCompany.User.Password, out ILoginToken token, out FacadeBase facade);
                LoggedInAirlineFacade airline_facade      = facade as LoggedInAirlineFacade;
                LoginToken <AirlineCompany> airline_token = token as LoginToken <AirlineCompany>;

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

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

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

                Ticket ticket = customer_facade.PurchaseTicket(customer_token, demi_flight);
                Assert.AreEqual(customer_facade.GetAllMyTickets(customer_token).Count, 1);


                administrator_facade.RemoveCustomer(administrator_token, demi_customer);

                Assert.AreEqual(administrator_facade.GetAllCustomers(administrator_token).Count, 0);
                Assert.AreEqual(customer_facade.GetAllMyTickets(customer_token).Count, 0);
                Assert.AreEqual(customer_facade.GetTicketHistoryByOriginalId(customer_token, ticket.Id).Id, 1);
            });
        }
        public void Create_And_Get_List_Of_New_Customers()
        {
            Execute_Test(() =>
            {
                Customer[] data           = TestData.Get_Customers_Data();
                Customer[] demi_customers = { data[0], data[1], data[2] };
                for (int i = 0; i < demi_customers.Length; i++)
                {
                    long customer_id = administrator_facade.CreateNewCustomer(administrator_token, demi_customers[i]);
                    Assert.AreEqual(customer_id, i + 1);
                    Assert.AreEqual(demi_customers[i].User.Id, i + 1);
                    demi_customers[i].Id = customer_id;
                }

                IList <Customer> customers_from_db = administrator_facade.GetAllCustomers(administrator_token);
                Assert.AreEqual(demi_customers.Length, customers_from_db.Count);
                for (int i = 0; i < customers_from_db.Count; i++)
                {
                    TestData.CompareProps(customers_from_db[i], demi_customers[i]);
                }
            });
        }