public virtual ActionResult OrderDetails(string token) { var orderToken = string.IsNullOrWhiteSpace(token) ? null : GuestOrderTokenizer.DecypherOrderToken(token); var findMyOrderUrl = OrderUrlProvider.GetFindMyOrderUrl(ComposerContext.CultureInfo); OrderDetailViewModel orderDetailViewModel = null; if (IsOrderTokenValid(orderToken)) { orderDetailViewModel = OrderHistoryViewService.GetOrderDetailViewModelForGuestAsync(new GetOrderForGuestParam { OrderNumber = orderToken.OrderNumber, Email = orderToken.Email, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, CountryCode = ComposerContext.CountryCode, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }).Result; } if (orderDetailViewModel != null) { return(View("OrderDetailsContainer", orderDetailViewModel)); } var findMyOrderUrlWithParams = UrlFormatter.AppendQueryString(findMyOrderUrl, new NameValueCollection { { "orderNotFound", "true" } }); return(Redirect(findMyOrderUrlWithParams)); }
public void WHEN_token_is_invalid_SHOULD_throw_ArgumentException(string token) { //Act Expression <Func <OrderToken> > expression = () => GuestOrderTokenizer.DecypherOrderToken(token); var exception = Assert.Throws <ArgumentException>(() => expression.Compile().Invoke()); //Assert exception.ParamName.Should().BeEquivalentTo(GetParamsInfo(expression)[0].Name); exception.Message.Should().StartWith(GetMessageOfNullWhiteSpace()); }
public void WHEN_token_format_is_wrong_SHOULD_return_null() { //Arrange var token = GetRandom.String(17); //Act var tokenDto = GuestOrderTokenizer.DecypherOrderToken(token); //Assert tokenDto.Should().BeNull("token is in the wrong format"); }
public void WHEN_token_is_invalid_SHOULD_throw_ArgumentException(string token) { //Arrange //Act var ex = Assert.Throws <ArgumentException>(() => GuestOrderTokenizer.DecypherOrderToken(token)); //Assert ex.Should().NotBeNull(); ex.ParamName.Should().NotBeNullOrWhiteSpace(); }
public void WHEN_token_is_valid_SHOULD_return_dto() { //Arrange var param = new OrderToken { Email = GetRandom.Email(), OrderNumber = GetRandom.String(7) }; var token = GuestOrderTokenizer.GenerateOrderToken(param); //Act var dto = GuestOrderTokenizer.DecypherOrderToken(token); //Assert dto.Should().NotBeNull(); dto.Email.Should().NotBeNullOrWhiteSpace(); dto.Email.Should().Be(param.Email); dto.OrderNumber.Should().Be(param.OrderNumber); }