public async Task <BuyTicketResponseDto> RequestBuyTicketAsync(BuyTicketRequestDto buyTicketRequestDto) { try { var response = await httpService.PostAsync <BuyTicketRequestDto, BuyTicketResponseDto>( TicketsEndpoint.BuyTicket, buyTicketRequestDto); return(response); } catch (System.Net.WebException ex) { throw new Exceptions.WebException("Server exception", ex); } catch (SocketException ex) { throw new Exceptions.WebException("Server exception", ex); } }
public TicketsServiceTests() { email = "email"; acessToken = "AccessToken"; ticketsDto = new List <TicketDto> { new TicketDto { TicketType = "TicketDto", ReferenceNumber = "ReferenceNumber1", TicketAreas = new List <string> { "A" }, CreatedAt = DateTime.Parse("06/06/20 18:00:00"), ActivatedAt = DateTime.Parse("06/06/20 18:01:00"), ExpiredAt = DateTime.Parse("06/06/20 19:01:00") }, new TicketDto { TicketType = "TicketDto", ReferenceNumber = "ReferenceNumber2", TicketAreas = new List <string> { "A", "B" }, CreatedAt = DateTime.Parse("06/06/20 19:00:00"), ActivatedAt = DateTime.Parse("06/06/20 19:02:00"), ExpiredAt = DateTime.Parse("06/06/20 20:02:00") }, new TicketDto { TicketType = "TicketDto", ReferenceNumber = "ReferenceNumber3", TicketAreas = new List <string> { "A", "B", "C" }, CreatedAt = DateTime.Parse("06/06/20 20:00:00"), ActivatedAt = DateTime.Parse("06/06/20 20:03:00"), ExpiredAt = DateTime.Parse("06/06/20 11:03:00") } }; tickets = new List <Ticket> { new Ticket { TicketType = "TicketDto", ReferenceNumber = "ReferenceNumber1", TicketAreas = new List <string> { "A" }, CreatedAt = DateTime.Parse("06/06/20 18:00:00"), ActivatedAt = DateTime.Parse("06/06/20 18:01:00"), ExpiredAt = DateTime.Parse("06/06/20 19:01:00") }, new Ticket { TicketType = "TicketDto", ReferenceNumber = "ReferenceNumber2", TicketAreas = new List <string> { "A", "B" }, CreatedAt = DateTime.Parse("06/06/20 19:00:00"), ActivatedAt = DateTime.Parse("06/06/20 19:02:00"), ExpiredAt = DateTime.Parse("06/06/20 20:02:00") }, new Ticket { TicketType = "TicketDto", ReferenceNumber = "ReferenceNumber3", TicketAreas = new List <string> { "A", "B", "C" }, CreatedAt = DateTime.Parse("06/06/20 20:00:00"), ActivatedAt = DateTime.Parse("06/06/20 20:03:00"), ExpiredAt = DateTime.Parse("06/06/20 11:03:00") } }; ticketTypesDto = new List <TicketTypeDto> { new TicketTypeDto { Id = 1, Name = "TickeType1", Coefficient = 1, DurationHours = 11 }, new TicketTypeDto { Id = 2, Name = "TickeType2", Coefficient = 2, DurationHours = 12 }, new TicketTypeDto { Id = 3, Name = "TickeType3", Coefficient = 3, DurationHours = 13 } }; ticketTypes = new List <TicketType> { new TicketType { Id = 1, Name = "TickeType1", Coefficient = 1, DurationHours = 11 }, new TicketType { Id = 2, Name = "TickeType2", Coefficient = 2, DurationHours = 12 }, new TicketType { Id = 3, Name = "TickeType3", Coefficient = 3, DurationHours = 13 } }; areasDto = new List <AreaDto> { new AreaDto { Id = 1, Name = "Area1", Description = "Description1" }, new AreaDto { Id = 2, Name = "Area2", Description = "Description2" }, new AreaDto { Id = 3, Name = "Area3", Description = "Description3" } }; ticketTypeId = 1; areasId = new List <int> { 1 }; getTicketPriceResponseDto = new GetTicketPriceResponseDto { TotalPrice = 100 }; buyTicketRequestDto = new BuyTicketRequestDto { TicketTypeId = 1, Email = "email", Price = 100, Description = "Description", CardNumber = "CardNumber", ExpirationMonth = "ExpirationMonth", ExpirationYear = "ExpirationYear", CVV2 = "CVV2" }; buyTicketResponseDto = new BuyTicketResponseDto { PayResult = "PayResult", TotalPrice = 100, BoughtAt = DateTime.Parse("06/06/20 19:00:01") }; tokenServiceMock = new Mock <ITokenService>(); tokenServiceMock .Setup(ts => ts.RefreshTokenAsync()) .ReturnsAsync(acessToken); httpServiceMock = new Mock <IHttpService>(); httpServiceMock .SetupSequence(hs => hs.GetAsync <IEnumerable <TicketDto> >(It.IsAny <Uri>(), It.IsAny <string>())) .ReturnsAsync(ticketsDto) .ThrowsAsync(new System.Net.WebException()); httpServiceMock .SetupSequence(hs => hs.GetAsync <IList <TicketTypeDto> >(It.IsAny <Uri>(), It.IsAny <string>())) .ReturnsAsync(ticketTypesDto) .ThrowsAsync(new System.Net.WebException()); httpServiceMock .SetupSequence(hs => hs.GetAsync <IList <AreaDto> >(It.IsAny <Uri>(), It.IsAny <string>())) .ReturnsAsync(areasDto) .ThrowsAsync(new System.Net.WebException()); httpServiceMock .SetupSequence(hs => hs.PostAsync <GetTicketPriceRequestDto, GetTicketPriceResponseDto>( It.IsAny <Uri>(), It.IsAny <GetTicketPriceRequestDto>(), It.IsAny <string>())) .ReturnsAsync(getTicketPriceResponseDto) .ThrowsAsync(new System.Net.WebException()); httpServiceMock .SetupSequence(hs => hs.PostAsync <BuyTicketRequestDto, BuyTicketResponseDto>( It.IsAny <Uri>(), It.IsAny <BuyTicketRequestDto>(), It.IsAny <string>())) .ReturnsAsync(buyTicketResponseDto) .ThrowsAsync(new System.Net.WebException()); ticketsService = new TicketsService(tokenServiceMock.Object, httpServiceMock.Object); }