Merge branch 'develop-1.0' of https://git.radiocampus.be/rc/aircox into dev-1.0-101-pytest-model-page

This commit is contained in:
Laurent Van Wambeke 2023-05-12 09:49:32 +02:00
commit fd0f168ef8
2 changed files with 19 additions and 14 deletions

View File

@ -56,8 +56,8 @@ class TestSchedule:
assert schedule.dates_of_month(at) == []
@pytest.mark.django_db
@pytest.mark.parametrize("months", range(0, 25, 2))
@pytest.mark.parametrize("hour", range(0, 24, 3))
@pytest.mark.parametrize("months", range(0, 25, 4))
@pytest.mark.parametrize("hour", range(0, 24, 4))
def test_dates_of_month_last(self, months, hour):
schedule = baker.prepare(
Schedule, time=time(hour, 00), frequency=Schedule.Frequency.last
@ -81,8 +81,8 @@ class TestSchedule:
# since the same method is used for first, second, etc. frequencies
# we assume testing every is sufficient
@pytest.mark.django_db
@pytest.mark.parametrize("months", range(0, 25, 2))
@pytest.mark.parametrize("hour", range(0, 24, 3))
@pytest.mark.parametrize("months", range(0, 25, 4))
@pytest.mark.parametrize("hour", range(0, 24, 4))
def test_dates_of_month_every(self, months, hour):
schedule = baker.prepare(
Schedule, time=time(hour, 00), frequency=Schedule.Frequency.every
@ -97,8 +97,8 @@ class TestSchedule:
last = dt
@pytest.mark.django_db
@pytest.mark.parametrize("months", range(0, 25, 2))
@pytest.mark.parametrize("hour", range(0, 24, 3))
@pytest.mark.parametrize("months", range(0, 25, 4))
@pytest.mark.parametrize("hour", range(0, 24, 4))
def test_dates_of_month_one_on_two(self, months, hour):
schedule = baker.prepare(
Schedule,

View File

@ -77,12 +77,12 @@ export default class Builder {
enableHotReload(node=null, historySave=true) {
if(historySave)
this.historySave(document.location, true)
node.addEventListener('click', event => this._onPageChange(event), true)
node.addEventListener('submit', event => this._onPageChange(event), true)
node.addEventListener('popstate', event => this._onPopState(event), true)
node.addEventListener('click', event => this.pageChanged(event), true)
node.addEventListener('submit', event => this.pageChanged(event), true)
node.addEventListener('popstate', event => this.statePopped(event), true)
}
_onPageChange(event) {
pageChanged(event) {
let submit = event.type == 'submit';
let target = submit || event.target.tagName == 'A'
? event.target : event.target.closest('a');
@ -91,8 +91,12 @@ export default class Builder {
let url = submit ? target.getAttribute('action') || ''
: target.getAttribute('href');
if(url===null || !(url === '' || url.startsWith('/') || url.startsWith('?')))
let domain = window.location.protocol + '//' + window.location.hostname
let stay = (url === '' || url.startsWith('/') || url.startsWith('?') ||
url.startsWith(domain)) && url.indexOf('wp-admin') == -1
if(url===null || !stay) {
return;
}
let options = {};
if(submit) {
@ -107,10 +111,11 @@ export default class Builder {
event.stopPropagation();
}
_onPopState(event) {
if(event.state && event.state.content)
statePopped(event) {
const state = event.state
if(state && state.content)
// document.title = this.title;
this.historyLoad(event.state);
this.historyLoad(state);
}
/// Save application state into browser history