public void CustomerFacadeGetAllMyFlightsMethod() { ILoggedInAdministratorFacade adminFacade = (ILoggedInAdministratorFacade)TestConfig.fcs.Login(AirlineProjectConfig.ADMIN_USERNAME, AirlineProjectConfig.ADMIN_PASSWORD, out ILoginToken adminToken); adminFacade.CreateNewAirline((LoginToken <Administrator>)adminToken, TestData.airline1); adminFacade.CreateNewCustomer((LoginToken <Administrator>)adminToken, TestData.customer1); Flight flight1 = new Flight(0, 0, TestData.argentinaID, TestData.barbadosID, TestData.futureDate1, TestData.futureDate2, 200); Flight flight2 = new Flight(0, 0, TestData.chadID, TestData.denmarkID, TestData.futureDate1, TestData.futureDate3, 190); ILoggedInAirlineFacade airlineFacade1 = (ILoggedInAirlineFacade)TestConfig.fcs.Login(TestData.airline1.UserName, TestData.airline1.Password, out ILoginToken airlineToken1); airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight1); airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight2); IAnonymousUserFacade anonymousFacade = (IAnonymousUserFacade)TestConfig.fcs.Login("", "", out ILoginToken anonymousToken); ILoggedInCustomerFacade customerFacade1 = (ILoggedInCustomerFacade)TestConfig.fcs.Login(TestData.customer1.UserName, TestData.customer1.Password, out ILoginToken customerToken1); Assert.AreEqual(0, customerFacade1.GetAllMyFlights((LoginToken <Customer>)customerToken1).Count); Ticket ticket1 = customerFacade1.PurchaseTicket((LoginToken <Customer>)customerToken1, flight1); Ticket ticket2 = customerFacade1.PurchaseTicket((LoginToken <Customer>)customerToken1, flight2); IList <Flight> actualflights = customerFacade1.GetAllMyFlights((LoginToken <Customer>)customerToken1); Assert.AreEqual(2, customerFacade1.GetAllMyFlights((LoginToken <Customer>)customerToken1).Count); Assert.AreEqual(flight1, actualflights[0]); Assert.AreEqual(flight2, actualflights[1]); }
public void TicketAlreadyExist() { AddToLogFile("run CustomerFacade TicketAlreadyExist Exception"); InitDBUnitTest.InitDB(); AdministratorFacade_CreateNewCustomer(); Flight flight = AirlineCompanyFacadeFacade_CreateNewFlight1(); ILoggedInCustomerFacade customerFacade = GetCustomerFacade(out LoginToken<Customer> tCustomer); customerFacade.PurchaseTicket(tCustomer, flight); customerFacade.PurchaseTicket(tCustomer, flight); }
public void AirlineFacadeGetAllTicketsMethod() { ILoggedInAdministratorFacade adminFacade = (ILoggedInAdministratorFacade)TestConfig.fcs.Login(AirlineProjectConfig.ADMIN_USERNAME, AirlineProjectConfig.ADMIN_PASSWORD, out ILoginToken adminToken); adminFacade.CreateNewAirline((LoginToken <Administrator>)adminToken, TestData.airline1); adminFacade.CreateNewAirline((LoginToken <Administrator>)adminToken, TestData.airline2); adminFacade.CreateNewCustomer((LoginToken <Administrator>)adminToken, TestData.customer1); adminFacade.CreateNewCustomer((LoginToken <Administrator>)adminToken, TestData.customer2); adminFacade.CreateNewCustomer((LoginToken <Administrator>)adminToken, TestData.customer3); Flight flight1 = new Flight(0, 0, TestData.argentinaID, TestData.barbadosID, TestData.futureDate1, TestData.futureDate2, 200); Flight flight2 = new Flight(0, 0, TestData.chadID, TestData.denmarkID, TestData.futureDate1, TestData.futureDate3, 200); Flight flight3 = new Flight(0, 0, TestData.egyptID, TestData.franceID, TestData.futureDate2, TestData.futureDate3, 200); ILoggedInAirlineFacade airlineFacade1 = (ILoggedInAirlineFacade)TestConfig.fcs.Login(TestData.airline1.UserName, TestData.airline1.Password, out ILoginToken airlineToken1); ILoggedInAirlineFacade airlineFacade2 = (ILoggedInAirlineFacade)TestConfig.fcs.Login(TestData.airline2.UserName, TestData.airline2.Password, out ILoginToken airlineToken2); airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight1); airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight2); airlineFacade2.CreateFlight((LoginToken <AirlineCompany>)airlineToken2, flight3); ILoggedInCustomerFacade customerFacade1 = (ILoggedInCustomerFacade)TestConfig.fcs.Login(TestData.customer1.UserName, TestData.customer1.Password, out ILoginToken customerToken1); ILoggedInCustomerFacade customerFacade2 = (ILoggedInCustomerFacade)TestConfig.fcs.Login(TestData.customer2.UserName, TestData.customer2.Password, out ILoginToken customerToken2); ILoggedInCustomerFacade customerFacade3 = (ILoggedInCustomerFacade)TestConfig.fcs.Login(TestData.customer3.UserName, TestData.customer3.Password, out ILoginToken customerToken3); Ticket ticket1 = customerFacade1.PurchaseTicket((LoginToken <Customer>)customerToken1, flight1); Ticket ticket2 = customerFacade2.PurchaseTicket((LoginToken <Customer>)customerToken2, flight2); Ticket ticket3 = customerFacade3.PurchaseTicket((LoginToken <Customer>)customerToken3, flight3); IList <Ticket> tickets1 = airlineFacade1.GetAllTickets((LoginToken <AirlineCompany>)airlineToken1); Assert.AreEqual(ticket1, tickets1[0]); Assert.AreEqual(ticket2, tickets1[1]); Assert.AreEqual(2, tickets1.Count); }
public async Task <ActionResult <TicketDTO> > PurchaseTicket([FromBody] AirlineFlightDTO flightDTO) { LoginToken <Customer> token = GetLoginToken(); Flight flight = m_mapper.Map <Flight>(flightDTO); Ticket ticket = null; try { ticket = await Task.Run(() => { return(m_facade.PurchaseTicket(token, flight)); }); } catch (CustomerAlreadyBoughtTicketException ex) { return(StatusCode(403, $"{{ error: \"{ex.Message}\" }}")); } catch (OutOfTicketsException ex) { return(StatusCode(406, $"{{ error: \"{ex.Message}\" }}")); } catch (WasntActivatedByCustomerException ex) { return(StatusCode(401, $"{{ error: \"{ex.Message}\" }}")); } TicketDTO ticketDTO = m_mapper.Map <TicketDTO>(ticket); return(Created($"api/Customer/PurchaseTicket/{ticketDTO.Id}", JsonConvert.SerializeObject(ticketDTO))); }
public void CustomerFacadeCancelTicketMethod() { ILoggedInAdministratorFacade adminFacade = (ILoggedInAdministratorFacade)TestConfig.fcs.Login(AirlineProjectConfig.ADMIN_USERNAME, AirlineProjectConfig.ADMIN_PASSWORD, out ILoginToken adminToken); adminFacade.CreateNewAirline((LoginToken <Administrator>)adminToken, TestData.airline1); adminFacade.CreateNewCustomer((LoginToken <Administrator>)adminToken, TestData.customer1); Flight flight1 = new Flight(0, 0, TestData.argentinaID, TestData.barbadosID, TestData.futureDate1, TestData.futureDate2, 200); ILoggedInAirlineFacade airlineFacade1 = (ILoggedInAirlineFacade)TestConfig.fcs.Login(TestData.airline1.UserName, TestData.airline1.Password, out ILoginToken airlineToken1); airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight1); IAnonymousUserFacade anonymousFacade = (IAnonymousUserFacade)TestConfig.fcs.Login("", "", out ILoginToken anonymousToken); //Assert.AreEqual(200, anonymousFacade.GetFlight(flight1.ID).RemainingTickets); ILoggedInCustomerFacade customerFacade1 = (ILoggedInCustomerFacade)TestConfig.fcs.Login(TestData.customer1.UserName, TestData.customer1.Password, out ILoginToken customerToken1); Ticket ticket1 = customerFacade1.PurchaseTicket((LoginToken <Customer>)customerToken1, flight1); Assert.AreEqual(199, anonymousFacade.GetFlight(flight1.ID).RemainingTickets); customerFacade1.CancelTicket((LoginToken <Customer>)customerToken1, ticket1); Assert.AreEqual(200, anonymousFacade.GetFlight(flight1.ID).RemainingTickets); Assert.AreEqual(0, customerFacade1.GetAllMyFlights((LoginToken <Customer>)customerToken1).Count); }
public void AirlineCompanyFacadeFacade_GetAllTickets_TicketsReceived() { Ticket newTicket = null; IList <Ticket> tickets1 = null; IList <Ticket> tickets2 = null; InitDBUnitTest.InitDB(); AdministratorFacade_CreateNewCustomer(); Flight flight1 = AirlineCompanyFacadeFacade_CreateNewFlight1(); ILoggedInAirlineFacade airlineCompanyFacade = GetAirlineCompanyFacade(out LoginToken <AirlineCompany> tAirlineCompany); ILoggedInCustomerFacade customerFacade = GetCustomerFacade(out LoginToken <Customer> tCustomer); Ticket ticket = customerFacade.PurchaseTicket(tCustomer, flight1); tickets1 = airlineCompanyFacade.GetAllTickets(tAirlineCompany); newTicket = CreateNewTicket(); newTicket.ID = ticket.ID; newTicket.FLIGHT_ID = ticket.FLIGHT_ID; newTicket.CUSTOMER_ID = ticket.CUSTOMER_ID; tickets2 = new List <Ticket>(); tickets2.Add(newTicket); List <Ticket> t1 = (List <Ticket>)tickets1; List <Ticket> t2 = (List <Ticket>)tickets2; Assert.AreNotEqual(tickets1, null); Assert.AreNotEqual(tickets2, null); CollectionAssert.AreEqual(t1, t2); Assert.AreEqual(tickets1[0].ID, tickets2[0].ID); Assert.AreEqual(tickets1[0].FLIGHT_ID, tickets2[0].FLIGHT_ID); Assert.AreEqual(tickets1[0].CUSTOMER_ID, tickets2[0].CUSTOMER_ID); }
public Ticket CustomerFacade_CreateNewTicket() { Flight flight = AirlineCompanyFacadeFacade_CreateNewFlight1(); ILoggedInCustomerFacade customerFacade = GetCustomerFacade(out LoginToken<Customer> tCustomer); Ticket ticket = customerFacade.PurchaseTicket(tCustomer, flight); return ticket; }
public void CustomerFacadePurchaseTicketMethodTicketAlreadyExistsException() { ILoggedInAdministratorFacade adminFacade = (ILoggedInAdministratorFacade)TestConfig.fcs.Login(AirlineProjectConfig.ADMIN_USERNAME, AirlineProjectConfig.ADMIN_PASSWORD, out ILoginToken adminToken); adminFacade.CreateNewAirline((LoginToken <Administrator>)adminToken, TestData.airline1); adminFacade.CreateNewCustomer((LoginToken <Administrator>)adminToken, TestData.customer1); ILoggedInAirlineFacade airlineFacade1 = (ILoggedInAirlineFacade)TestConfig.fcs.Login(TestData.airline1.UserName, TestData.airline1.Password, out ILoginToken airlineToken1); Flight flight1 = new Flight(0, 0, TestData.argentinaID, TestData.barbadosID, TestData.futureDate1, TestData.futureDate2, 200); airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight1); ILoggedInCustomerFacade customerFacade1 = (ILoggedInCustomerFacade)TestConfig.fcs.Login(TestData.customer1.UserName, TestData.customer1.Password, out ILoginToken customerToken1); customerFacade1.PurchaseTicket((LoginToken <Customer>)customerToken1, flight1); customerFacade1.PurchaseTicket((LoginToken <Customer>)customerToken1, flight1); }
public void CustomerFacade_AddTicket_TicketAdded() { AddToLogFile("run CustomerFacade AddTicket"); InitDBUnitTest.InitDB(); Ticket ticket1 = null; Ticket ticket2 = null; Customer customer = AdministratorFacade_CreateNewCustomer(); Flight flight = AirlineCompanyFacadeFacade_CreateNewFlight1(); ILoggedInCustomerFacade customerFacade = GetCustomerFacade(out LoginToken<Customer> tCustomer); ticket1 = customerFacade.PurchaseTicket(tCustomer, flight); ticket2 = customerFacade.GetTicketByCustomerUserName(tCustomer, customer.USER_NAME); Assert.AreEqual(ticket1, ticket2); }
public void NoTicketLeft() { AddToLogFile("run CustomerFacade NoTicketLeft Exception"); InitDBUnitTest.InitDB(); Flight newFlight1 = null; AdministratorFacade_CreateNewCustomer(); Flight flight1 = AirlineCompanyFacadeFacade_CreateNewFlight1(); ILoggedInCustomerFacade customerFacade = GetCustomerFacade(out LoginToken<Customer> tCustomer); ILoggedInAirlineFacade airlineCompanyFacade = GetAirlineCompanyFacade(out LoginToken<AirlineCompany> tAirlineCompany); newFlight1 = CreateNewFlight1(); newFlight1.ID = flight1.ID; newFlight1.AIRLINECOMPANY_ID = flight1.AIRLINECOMPANY_ID; newFlight1.ORIGIN_COUNTRY_CODE = flight1.ORIGIN_COUNTRY_CODE; newFlight1.DESTINATION_COUNTRY_CODE = flight1.DESTINATION_COUNTRY_CODE; newFlight1.REMANING_TICKETS = 0; airlineCompanyFacade.UpdateRemainingTickets(tAirlineCompany, newFlight1); Flight flight2 = customerFacade.GetFlightByFlightId(tCustomer, newFlight1.ID); customerFacade.PurchaseTicket(tCustomer, flight2); }
public IHttpActionResult PurchaseTicket([FromBody] Flight flight) { GetLoginToken(); if (customerLoginToken == null) { return(Unauthorized()); } FlyingCenter = FlyingCenterSystem.GetInstance(); ILoggedInCustomerFacade customerFacade = FlyingCenter.GetFacede(customerLoginToken) as ILoggedInCustomerFacade; try { Ticket ticket = customerFacade.PurchaseTicket(customerLoginToken, flight); return(CreatedAtRoute("PurchaseTicket", new { id = ticket.ID }, ticket)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <TicketDetailsDTO> PurchaseTicket([FromBody] long flight_id) { LoginToken <Customer> customer_token = DesirializeToken(); Ticket ticket = null; string uri = null; Flight flight = _loggedInCustomerFacade.GetFlightById(flight_id); if (flight == null) { return(NotFound()); } if (flight.RemainingTickets < 1 || flight.DepartureTime <= DateTime.Now.AddMinutes(15)) { return(StatusCode(StatusCodes.Status410Gone)); } try { ticket = _loggedInCustomerFacade.PurchaseTicket(customer_token, flight); uri = _linkGenerator.GetPathByAction(nameof(GetTicketById), "customerfacade", new { id = ticket.Id }); } catch (RecordAlreadyExistsException) { return(Conflict()); } catch (TicketPurchaseFailedException) { return(StatusCode(StatusCodes.Status410Gone)); } TicketDetailsDTO ticketDetailsDTO = _mapper.Map <TicketDetailsDTO>(ticket); return(Created(uri, ticket)); }
public void CREATE_TICKET() { bool actual = false; LoginService ls = new LoginService(); LoginToken <Customer> ltCustomer = null; bool res = ls.TryCustomerLogin("0021", "inna34", out ltCustomer); if (res == true) { FlyingCenterSystem fs = FlyingCenterSystem.Instance; ILoggedInCustomerFacade iCustomerFS = fs.GetFacade <ILoggedInCustomerFacade>(); Ticket ticket = new Ticket(1, 1, 2); Flight flight = iCustomerFS.GetFlightByIdFlight(ltCustomer, 1); iCustomerFS.PurchaseTicket(ltCustomer, flight, ticket.id); IList <Flight> listFlights = new List <Flight>(); IList <Flight> originFlights = new List <Flight>(); originFlights.Add(flight); listFlights = iCustomerFS.GetAllMyFlights(ltCustomer); actual = originFlights.SequenceEqual(listFlights); Assert.IsTrue(actual); } }