public void Can_renew_expired_licensee_contract() { var licenseeName = "Licensee-" + TestDataGenerator.GetRandomString(5); var companyName = "Company-" + TestDataGenerator.GetRandomString(5); var contractStartDate = DateTime.UtcNow.AddMonths(-2).ToString("yyyy'/'MM'/'dd"); var contractEndDate = DateTime.UtcNow.AddDays(2).ToString("yyyy'/'MM'/'dd"); var email = TestDataGenerator.GetRandomEmail(); var numberOfAllowedBrands = TestDataGenerator.GetRandomNumber(10).ToString(CultureInfo.InvariantCulture); var numberOfAllowedWebsites = numberOfAllowedBrands; // create a licensee var newLicenseeForm = _licenseeManagerPage.OpenNewLicenseeForm(); var submittedLicenseeForm = newLicenseeForm.Submit(licenseeName, companyName, contractStartDate, contractEndDate, numberOfAllowedBrands, numberOfAllowedWebsites, email); submittedLicenseeForm.CloseTab("View Licensee"); _driver.Logout(); _dashboardPage = _driver.LoginToAdminWebsiteAsSuperAdmin(); _dashboardPage.BrandFilter.SelectAll(); _licenseeManagerPage = _dashboardPage.Menu.ClickLicenseeManagerItem(); //activate var activateDialog = _licenseeManagerPage.OpenActivateLicenseeDialog(licenseeName); var submittedActivateDialog = activateDialog.Activate("test"); _licenseeManagerPage = submittedActivateDialog.Close(); //edit end date var editLicenseePage = _licenseeManagerPage.OpenEditLicenseeForm(licenseeName); var viewLicenseePage = editLicenseePage.Submit(new LicenseeData { ContractEnd = DateTime.UtcNow.AddDays(-3).ToString("yyyy'/'MM'/'dd"), Remarks = "test" }); viewLicenseePage.CloseTab("View Licensee"); //renew var newContractDate = DateTime.UtcNow.AddDays(-1).ToString("yyyy'/'MM'/'dd"); var newContractEnd = DateTime.UtcNow.AddMonths(11).ToString("yyyy'/'MM'/'dd"); var renewContractForm = _licenseeManagerPage.OpenRenewContractForm(licenseeName); var submittedForm = renewContractForm.Submit(newContractDate, newContractEnd); var contractStatus = submittedForm.GetStatus(newContractDate); Assert.AreEqual("The licensee contract has been renewed successfully", submittedForm.ConfirmationMessage); Assert.AreEqual("Active", contractStatus); }