Working on regression tests
This commit is contained in:
parent
1e1dc1754a
commit
e8a345bad0
5 changed files with 86 additions and 11 deletions
|
@ -6,6 +6,7 @@ RUN mkdir -p /srv/oef
|
||||||
COPY oef /srv/oef/
|
COPY oef /srv/oef/
|
||||||
COPY dist /srv/oef/dist
|
COPY dist /srv/oef/dist
|
||||||
COPY templates /srv/oef/templates
|
COPY templates /srv/oef/templates
|
||||||
|
COPY VERSION /srv/oef/
|
||||||
|
|
||||||
WORKDIR /srv/oef/
|
WORKDIR /srv/oef/
|
||||||
|
|
||||||
|
|
1
Makefile
1
Makefile
|
@ -23,5 +23,6 @@ regression_test:
|
||||||
go build .
|
go build .
|
||||||
docker-compose -f docker/oef_regression_test/docker-compose.yaml down
|
docker-compose -f docker/oef_regression_test/docker-compose.yaml down
|
||||||
docker-compose -f docker/oef_regression_test/docker-compose.yaml up --build -d
|
docker-compose -f docker/oef_regression_test/docker-compose.yaml up --build -d
|
||||||
|
cd regression_test && make
|
||||||
|
|
||||||
all: prod
|
all: prod
|
||||||
|
|
|
@ -3,7 +3,6 @@ package regression_test
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/remogatto/prettytest"
|
"github.com/remogatto/prettytest"
|
||||||
"github.com/tebeka/selenium"
|
"github.com/tebeka/selenium"
|
||||||
|
@ -38,13 +37,6 @@ func (t *testSuite) BeforeAll() {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
wd.SetImplicitWaitTimeout(time.Second * 5)
|
|
||||||
|
|
||||||
// Navigate to the simple playground interface.
|
|
||||||
if err = wd.Get("http://oef_regression_test:3000"); err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *testSuite) AfterAll() {
|
func (t *testSuite) AfterAll() {
|
||||||
|
@ -52,6 +44,10 @@ func (t *testSuite) AfterAll() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *testSuite) TestLogin() {
|
func (t *testSuite) TestLogin() {
|
||||||
|
if err := wd.Get("http://oef_regression_test:3000"); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
err := findElement("#username").SendKeys("admin")
|
err := findElement("#username").SendKeys("admin")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
@ -76,6 +72,76 @@ func (t *testSuite) TestLogin() {
|
||||||
}
|
}
|
||||||
t.Contain(expected[i], text)
|
t.Contain(expected[i], text)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logout()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *testSuite) TestSchoolSubscription() {
|
||||||
|
if err := wd.Get("http://oef_regression_test:3000"); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err := findElement("#school_subscription_link").Click()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("#password").SendKeys("subscribe")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("button").Click()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("#school_name").SendKeys("Liceo GALILEI")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("#school_code").SendKeys("FI12346789")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("#school_address").SendKeys("via Trieste 1, Milano")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("button.dropdown-toggle").Click()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement(".bs-searchbox input").SendKeys("Friuli")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("a.dropdown-item.active").Click()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = findElement("button.btn.btn-primary").Click()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
expected := []string{"JUNIOR Contest", "SENIOR Contest"}
|
||||||
|
elements := findElements(".list-group a")
|
||||||
|
for i, el := range elements {
|
||||||
|
text, err := el.Text()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
t.Contain(expected[i], text)
|
||||||
|
}
|
||||||
|
|
||||||
|
logout()
|
||||||
}
|
}
|
||||||
|
|
||||||
func findElement(selector string) selenium.WebElement {
|
func findElement(selector string) selenium.WebElement {
|
||||||
|
@ -93,3 +159,10 @@ func findElements(selector string) []selenium.WebElement {
|
||||||
}
|
}
|
||||||
return elements
|
return elements
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func logout() {
|
||||||
|
err := findElement("a#logout").Click()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -54,9 +54,9 @@
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
{{- if .Claims|isSubscriber -}}
|
{{- if .Claims|isSubscriber -}}
|
||||||
<li><a class="nav-link" href="/logout">Esci</a></li>
|
<li><a id="logout" class="nav-link" href="/logout">Esci</a></li>
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
<li><a class="nav-link" href="/logout">Disconnetti {{.Claims|username}}</a></li>
|
<li><a id="logout" class="nav-link" href="/logout">Disconnetti {{.Claims|username}}</a></li>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
</ul>
|
</ul>
|
||||||
</div><!--/.nav-collapse -->
|
</div><!--/.nav-collapse -->
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
{{if .Options.Get "failed"}}
|
{{if .Options.Get "failed"}}
|
||||||
<p class="text-center text-danger">Autenticazione fallita!</p>
|
<p class="text-center text-danger">Autenticazione fallita!</p>
|
||||||
{{end}}
|
{{end}}
|
||||||
<p class="text-center">Per iscrivere la tua scuola clicca <a href="/subscribe?tpl_content=login_subscribe&tpl_layout=login">qui</a>.</p>
|
<p class="text-center">Per iscrivere la tua scuola clicca <a id="school_subscription_link" href="/subscribe?tpl_content=login_subscribe&tpl_layout=login">qui</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
Loading…
Reference in a new issue