Skip to content

Commit

Permalink
Finished tests
Browse files Browse the repository at this point in the history
  • Loading branch information
MrKevJoy committed Jan 23, 2025
1 parent caf2004 commit e905924
Show file tree
Hide file tree
Showing 4 changed files with 163 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ public override void OnPageHandlerExecuting(PageHandlerExecutingContext context)
{
context.Result = Redirect(linkGenerator.RequestTrnWorkEmail(JourneyInstance.InstanceId));
}
else if (state.PersonalEmail is null)
else if (state.PersonalEmail is null)
{
// personal email is required for either WorkingInSchoolOrEducationalSetting being true or false
context.Result = Redirect(linkGenerator.RequestTrnPersonalEmail(JourneyInstance.InstanceId));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public sealed class HostFixture(IConfiguration configuration) : IAsyncDisposable
private IPlaywright? _playwright;
private IBrowser? _browser;

public IConfiguration Configuration => configuration;

public IBrowser Browser
{
get
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,51 +4,71 @@ namespace TeachingRecordSystem.AuthorizeAccess.EndToEndTests;

public class RequestTrnTests(HostFixture hostFixture) : TestBase(hostFixture)
{
[Theory(Skip = "Flaky on CI")]
[Theory]
[InlineData(true, true)]
[InlineData(true, false)]
[InlineData(false, false)]
public async Task RequestTrn(bool isPlanningToTakeAnNpq, bool hasNationalInsuranceNumber)
public async Task RequestTrnWithApplicationId(bool isTakingNpq, bool hasNationalInsuranceNumber)
{
await using var context = await HostFixture.CreateBrowserContext();
var page = await context.NewPageAsync();

await page.GotoAsync("/request-trn");
var accessToken = HostFixture.Configuration["RequestTrnAccessToken"];
await page.GotoAsync($"/request-trn?AccessToken={accessToken}");
await page.ClickButtonAsync("Start now");

Check failure on line 17 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithApplicationId(isTakingNpq: False, hasNationalInsuranceNumber: False)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithApplicationId(Boolean isTakingNpq, Boolean hasNationalInsuranceNumber) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 17
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithApplicationId(Boolean isTakingNpq, Boolean hasNationalInsuranceNumber) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 122

Check failure on line 17 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithApplicationId(isTakingNpq: True, hasNationalInsuranceNumber: False)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithApplicationId(Boolean isTakingNpq, Boolean hasNationalInsuranceNumber) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 17
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithApplicationId(Boolean isTakingNpq, Boolean hasNationalInsuranceNumber) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 122

Check failure on line 17 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithApplicationId(isTakingNpq: True, hasNationalInsuranceNumber: True)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithApplicationId(Boolean isTakingNpq, Boolean hasNationalInsuranceNumber) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 17
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithApplicationId(Boolean isTakingNpq, Boolean hasNationalInsuranceNumber) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 122
await page.WaitForUrlPathAsync("/request-trn/npq-check");
await page.WaitForUrlPathAsync("/request-trn/taking-npq");

if (isPlanningToTakeAnNpq)
//Is Taking NPQ
if (isTakingNpq)
{
await page.CheckAsync("text=Yes");
await page.ClickButtonAsync("Continue");

await page.WaitForUrlPathAsync("/request-trn/email");
//npq check
await page.WaitForUrlPathAsync("/request-trn/npq-check");
await page.CheckAsync("text=Yes");
await page.ClickButtonAsync("Continue");

var email = Faker.Internet.Email();
await page.FillAsync("input[name=Email]", email);
//npq applicationid
await page.WaitForUrlPathAsync("/request-trn/npq-application");
await page.FillAsync("input[name=NpqApplicationId]", "SomeApplicationID");
await page.ClickButtonAsync("Continue");

await page.WaitForUrlPathAsync("/request-trn/name");
//working in school or educational setting
await page.WaitForUrlPathAsync("/request-trn/school-or-educational-setting");
await page.CheckAsync("text=Yes");
await page.ClickButtonAsync("Continue");

//work email
await page.WaitForUrlPathAsync("/request-trn/work-email");
await page.FillAsync("input[name=WorkEmail]", Faker.Internet.Email());
await page.ClickButtonAsync("Continue");

//personal email
await page.WaitForUrlPathAsync("/request-trn/personal-email");
await page.FillAsync("input[name=PersonalEmail]", Faker.Internet.Email());
await page.ClickButtonAsync("Continue");

//name
await page.WaitForUrlPathAsync("/request-trn/name");
var name = Faker.Name.FullName();
var previousName = Faker.Name.FullName();
await page.FillAsync("input[name=Name]", name);
await page.ClickButtonAsync("Continue");

//previous name
await page.WaitForUrlPathAsync("/request-trn/previous-name");

await page.CheckAsync("text=Yes");
await page.FillAsync("input[name=PreviousName]", previousName);
await page.ClickButtonAsync("Continue");

//dob
await page.WaitForUrlPathAsync("/request-trn/date-of-birth");

var dateOfBirth = new DateOnly(1980, 10, 12);
await page.FillDateInputAsync(dateOfBirth);
await page.ClickButtonAsync("Continue");

//identity
await page.WaitForUrlPathAsync("/request-trn/identity");

await page
.GetByLabel("Upload file")
.SetInputFilesAsync(
Expand All @@ -60,6 +80,7 @@ await page
});
await page.ClickButtonAsync("Continue");

//NI
await page.WaitForUrlPathAsync("/request-trn/national-insurance-number");

var nationalInsuranceNumber = Faker.Identification.UkNationalInsuranceNumber();
Expand Down Expand Up @@ -92,17 +113,137 @@ await page

await page.WaitForUrlPathAsync("/request-trn/check-answers");
}
}
else
{
await page.CheckAsync("text=No");
await page.ClickButtonAsync("Continue");

await page.ClickButtonAsync("Submit request");
await page.WaitForUrlPathAsync("/request-trn/not-eligible");
}
}

await page.WaitForUrlPathAsync("/request-trn/submitted");
[Theory]
[InlineData(true, true)]
[InlineData(true, false)]
[InlineData(false, false)]
[InlineData(false, true)]
public async Task RequestTrnWithNpqNameAndNpqProvider(bool hasNationalInsuranceNumber, bool isWorkingInSchoolOrEducationalSetting)
{
await using var context = await HostFixture.CreateBrowserContext();
var page = await context.NewPageAsync();
var accessToken = HostFixture.Configuration["RequestTrnAccessToken"];
await page.GotoAsync($"/request-trn?AccessToken={accessToken}");
await page.ClickButtonAsync("Start now");

Check failure on line 137 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithNpqNameAndNpqProvider(hasNationalInsuranceNumber: False, isWorkingInSchoolOrEducationalSetting: False)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 137
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 247

Check failure on line 137 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithNpqNameAndNpqProvider(hasNationalInsuranceNumber: False, isWorkingInSchoolOrEducationalSetting: True)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 137
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 247

Check failure on line 137 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithNpqNameAndNpqProvider(hasNationalInsuranceNumber: True, isWorkingInSchoolOrEducationalSetting: False)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 137
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 247

Check failure on line 137 in TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs

View workflow job for this annotation

GitHub Actions / TeachingRecordSystem.AuthorizeAccess.EndToEndTests test results

TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests ► RequestTrnWithNpqNameAndNpqProvider(hasNationalInsuranceNumber: True, isWorkingInSchoolOrEducationalSetting: True)

Failed test found in: TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/TestResults/_fv-az714-523_2025-01-23_19_05_10.trx Error: System.TimeoutException : Timeout 30000ms exceeded. Call log: - waiting for Locator(".govuk-button:text-is('Start now')")
Raw output
System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - waiting for Locator(".govuk-button:text-is('Start now')")
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 207
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 537
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 137
   at TeachingRecordSystem.AuthorizeAccess.EndToEndTests.RequestTrnTests.RequestTrnWithNpqNameAndNpqProvider(Boolean hasNationalInsuranceNumber, Boolean isWorkingInSchoolOrEducationalSetting) in /home/runner/work/teaching-record-system/teaching-record-system/TeachingRecordSystem/tests/TeachingRecordSystem.AuthorizeAccess.EndToEndTests/RequestTrnTests.cs:line 247
await page.WaitForUrlPathAsync("/request-trn/taking-npq");


await page.CheckAsync("text=Yes");
await page.ClickButtonAsync("Continue");

//npq check
await page.WaitForUrlPathAsync("/request-trn/npq-check");
await page.CheckAsync("text=no");
await page.ClickButtonAsync("Continue");

//npq name
await page.WaitForUrlPathAsync("/request-trn/npq-name");
await page.FillAsync("input[name=NpqName]", "SomeNPQName");
await page.ClickButtonAsync("Continue");

//npq provider
await page.WaitForUrlPathAsync("/request-trn/npq-provider");
await page.FillAsync("input[name=NpqTrainingProvider]", "SOME PROVIDER");
await page.ClickButtonAsync("Continue");

//working in school or educational setting
if (isWorkingInSchoolOrEducationalSetting)
{
await page.WaitForUrlPathAsync("/request-trn/school-or-educational-setting");
await page.CheckAsync("text=Yes");
await page.ClickButtonAsync("Continue");

//work email
await page.WaitForUrlPathAsync("/request-trn/work-email");
await page.FillAsync("input[name=WorkEmail]", Faker.Internet.Email());
await page.ClickButtonAsync("Continue");
}
else
{
await page.WaitForUrlPathAsync("/request-trn/school-or-educational-setting");
await page.CheckAsync("text=No");
await page.ClickButtonAsync("Continue");
}

await page.WaitForUrlPathAsync("/request-trn/not-eligible");
//personal email
await page.WaitForUrlPathAsync("/request-trn/personal-email");
await page.FillAsync("input[name=PersonalEmail]", Faker.Internet.Email());
await page.ClickButtonAsync("Continue");

//name
await page.WaitForUrlPathAsync("/request-trn/name");
var name = Faker.Name.FullName();
var previousName = Faker.Name.FullName();
await page.FillAsync("input[name=Name]", name);
await page.ClickButtonAsync("Continue");

//previous name
await page.WaitForUrlPathAsync("/request-trn/previous-name");
await page.CheckAsync("text=Yes");
await page.FillAsync("input[name=PreviousName]", previousName);
await page.ClickButtonAsync("Continue");

//dob
await page.WaitForUrlPathAsync("/request-trn/date-of-birth");
var dateOfBirth = new DateOnly(1980, 10, 12);
await page.FillDateInputAsync(dateOfBirth);
await page.ClickButtonAsync("Continue");

//identity
await page.WaitForUrlPathAsync("/request-trn/identity");
await page
.GetByLabel("Upload file")
.SetInputFilesAsync(
new FilePayload()
{
Name = "evidence.jpg",
MimeType = "image/jpeg",
Buffer = TestData.JpegImage
});
await page.ClickButtonAsync("Continue");

//NI
await page.WaitForUrlPathAsync("/request-trn/national-insurance-number");

var nationalInsuranceNumber = Faker.Identification.UkNationalInsuranceNumber();
if (hasNationalInsuranceNumber)
{
await page.CheckAsync("text=Yes");
await page.FillAsync("input[name=NationalInsuranceNumber]", nationalInsuranceNumber);
await page.ClickButtonAsync("Continue");

await page.WaitForUrlPathAsync("/request-trn/check-answers");
}
else
{
await page.CheckAsync("text=No");
await page.ClickButtonAsync("Continue");
await page.WaitForUrlPathAsync("/request-trn/address");

var addressLine1 = Faker.Address.StreetAddress();
var addressLine2 = Faker.Address.SecondaryAddress();
var townOrCity = Faker.Address.City();
var postalCode = Faker.Address.ZipCode();
var country = Faker.Address.Country();

await page.FillAsync("input[name=AddressLine1]", addressLine1);
await page.FillAsync("input[name=AddressLine2]", addressLine2);
await page.FillAsync("input[name=TownOrCity]", townOrCity);
await page.FillAsync("input[name=PostalCode]", postalCode);
await page.FillAsync("input[name=Country]", country);
await page.ClickButtonAsync("Continue");

await page.WaitForUrlPathAsync("/request-trn/check-answers");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,11 @@ public async Task Post_HasPendingTrnRequestSetTrue_RedirectsToSubmitted()
}

[Fact]
public async Task Post_HasIsPlanningToTakeAnNpqMissingFromState_RedirectsToNpqCheck()
public async Task Post_IsTakingAnNpqMissingFromState_RedirectsToNpqCheck()
{
// Arrange
var state = CreateNewState();
state.IsTakingNpq = null;
var journeyInstance = await CreateJourneyInstance(state);

var request = new HttpRequestMessage(HttpMethod.Post, $"/request-trn/not-eligible?{journeyInstance.GetUniqueIdQueryParameter()}");
Expand All @@ -86,6 +87,6 @@ public async Task Post_HasIsPlanningToTakeAnNpqMissingFromState_RedirectsToNpqCh

// Assert
Assert.Equal(StatusCodes.Status302Found, (int)response.StatusCode);
Assert.Equal($"/request-trn/npq-check?{journeyInstance.GetUniqueIdQueryParameter()}", response.Headers.Location?.OriginalString);
Assert.Equal($"/request-trn/taking-npq?{journeyInstance.GetUniqueIdQueryParameter()}", response.Headers.Location?.OriginalString);
}
}

0 comments on commit e905924

Please sign in to comment.