Skip to content

Instantly share code, notes, and snippets.

View angelovstanton's full-sized avatar
💭
UPDATED STATUS

Anton Angelov angelovstanton

💭
UPDATED STATUS
View GitHub Profile
public interface IRedirectStrategy : IDisposable
{
void Initialize();
string NavigateToFromUrl(string fromUrl);
void Dispose();
}
public class WebDriverRedirectStrategy : IRedirectStrategy
{
private IWebDriver driver;
public void Initialize()
{
this.driver = new FirefoxDriver();
}
public void Dispose()
public class WebRequestRedirectStrategy : IRedirectStrategy
{
public void Initialize()
{
}
public string NavigateToFromUrl(string fromUrl)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(fromUrl);
request.Method = "HEAD";
[TestClass]
public class RedirectsTester
{
[TestMethod]
public void TestRedirects()
{
var redirectService = new RedirectService(new WebRequestRedirectStrategy());
using (redirectService)
{
redirectService.TestRedirects();
public interface IOrderPurchaseStrategy
{
void ValidateOrderSummary(string itemPrice, ClientPurchaseInfo clientPurchaseInfo);
void ValidateClientPurchaseInfo(ClientPurchaseInfo clientPurchaseInfo);
}
public class SalesTaxOrderPurchaseStrategy : IOrderPurchaseStrategy
{
public SalesTaxOrderPurchaseStrategy()
{
this.SalesTaxCalculationService = new SalesTaxCalculationService();
}
public SalesTaxCalculationService SalesTaxCalculationService { get; set; }
public void ValidateOrderSummary(string itemsPrice, ClientPurchaseInfo clientPurchaseInfo)
public class PurchaseContext
{
private readonly IOrderValidationStrategy orderValidationStrategy;
public PurchaseContext(IOrderValidationStrategy orderValidationStrategy)
{
this.orderValidationStrategy = orderValidationStrategy;
}
public void PurchaseItem(string itemUrl, string itemPrice, ClientLoginInfo clientLoginInfo, ClientPurchaseInfo clientPurchaseInfo)
public class PurchaseContext
{
private readonly IOrderPurchaseStrategy[] orderpurchaseStrategies;
public PurchaseContext(params IOrderPurchaseStrategy[] orderpurchaseStrategies)
{
this.orderpurchaseStrategies = orderpurchaseStrategies;
}
public void PurchaseItem(string itemUrl, string itemPrice, ClientLoginInfo clientLoginInfo, ClientPurchaseInfo clientPurchaseInfo)
public PurchaseContext(params IOrderPurchaseStrategy[] orderpurchaseStrategies)
{
this.orderpurchaseStrategies = orderpurchaseStrategies;
}
public class ShippingAddressPage : BasePageSingleton<ShippingAddressPage, ShippingAddressPageMap>
{
public void ClickContinueButton()
{
this.Map.ContinueButton.Click();
}
public void FillShippingInfo(ClientPurchaseInfo clientInfo)
{
this.Map.CountryDropDown.SelectByText(clientInfo.Country);