예제 #1
0
        public async Task GetCreate_ReturnsNotification_WithDefaultDrugResistanceProfile()
        {
            // Arrange
            using (var client = Factory.WithUserAuth(TestUser.ServiceUserForAbingdonAndPermitted)
                                .CreateClientWithoutRedirects())
            {
                // Act
                var createResponse = await client.GetAsync(RouteHelper.GetCreateNotificationPath());

                // Assert
                var editPage = await Client.GetAsync(createResponse.Headers.Location);

                var editDocument = await GetDocumentAsync(editPage);

                // TODO NTBS-2246: use a better way of selecting the drug resistance profile value, such as
                // querying HTML id attributes.
                var drugResistanceValue = editDocument
                                          .QuerySelectorAll("div.notification-banner-body div.bold-label")
                                          .FirstOrDefault(e => e.InnerHtml == " Drug resistance profile ")
                                          ?.NextElementSibling
                                          .InnerHtml;

                Assert.Equal(" No result ", drugResistanceValue);
            }
        }
예제 #2
0
        public async Task GetCreate_ReturnsRedirectToAccessDenied_ForReadOnlyUser()
        {
            // Arrange
            using (var client = Factory.WithUserAuth(TestUser.ReadOnlyUser)
                                .CreateClientWithoutRedirects())
            {
                // Act
                var response = await client.GetAsync(RouteHelper.GetCreateNotificationPath());

                // Assert
                response.AssertRedirectTo("/Account/AccessDenied");
            }
        }
예제 #3
0
        public async Task GetCreate_ReturnsRedirect()
        {
            // Arrange
            using (var client = Factory.WithUserAuth(TestUser.ServiceUserForAbingdonAndPermitted)
                                .CreateClientWithoutRedirects())
            {
                // Act
                var response = await client.GetAsync(RouteHelper.GetCreateNotificationPath());

                // Assert
                Assert.Equal(HttpStatusCode.Redirect, response.StatusCode);
            }
        }