|
3 | 3 | feature 'Visitor' do
|
4 | 4 | scenario 'creates a new DS18B20 sensor' do
|
5 | 5 | sensor = build(:ds18b20)
|
6 |
| - create_ds18b20(sensor) |
| 6 | + create_ds18b20_via_form(sensor) |
| 7 | + visit '/' |
7 | 8 |
|
8 | 9 | expect(page).to have_link('sensor1')
|
9 | 10 | end
|
10 | 11 |
|
11 | 12 | scenario 'views the sensor reading' do
|
12 |
| - sensor = build(:ds18b20) |
13 |
| - create_ds18b20(sensor) |
| 13 | + sensor = create(:ds18b20) |
| 14 | + visit '/' |
14 | 15 | click_link('sensor1')
|
15 | 16 |
|
16 | 17 | expect(page).to have_content('156')
|
17 | 18 | end
|
18 | 19 |
|
19 |
| - scenario 'edits an existing ds10b20' do |
20 |
| - sensor = build(:ds18b20) |
21 |
| - create_ds18b20(sensor) |
| 20 | + scenario 'edits an existing ds18b20' do |
| 21 | + sensor = create(:ds18b20) |
| 22 | + visit '/' |
22 | 23 | click_link('sensor1')
|
23 | 24 | click_link('edit')
|
24 | 25 | fill_in 'ds18b20_name', with: 'sensor2'
|
|
35 | 36 | visit '/'
|
36 | 37 | click_link(sensor.name)
|
37 | 38 | click_link('edit')
|
38 |
| - fill_in 'ds18b20_name', with: 'sensor2' |
39 | 39 | fill_in 'ds18b20_path', with: '/bad/path'
|
40 | 40 | click_button I18n.t('views.generic.buttons.save')
|
41 | 41 |
|
42 | 42 | expect(page).to have_current_path(edit_ds18b20_path(sensor))
|
43 |
| - |
| 43 | + expect(page).to have_content('Path must have trailing /') |
44 | 44 | end
|
45 | 45 |
|
46 |
| - scenario 'provides a bad file and/or path' do |
47 |
| - sensor = build(:ds18b20) |
48 |
| - sensor.file='bad_file' |
| 46 | + scenario 'edits and exsting ds18b20 and does not include path' do |
| 47 | + sensor = create(:ds18b20) |
| 48 | + visit '/' |
| 49 | + click_link(sensor.name) |
| 50 | + click_link('edit') |
| 51 | + fill_in 'ds18b20_path', with: '' |
| 52 | + click_button I18n.t('views.generic.buttons.save') |
| 53 | + |
| 54 | + expect(page).to have_current_path(edit_ds18b20_path(sensor)) |
| 55 | + expect(page).to have_content('Something is missing') |
| 56 | + end |
49 | 57 |
|
50 |
| - create_ds18b20(sensor) |
| 58 | + scenario 'provides a bad file' do |
| 59 | + sensor = create(:ds18b20, file: 'bad_file') |
| 60 | + visit '/' |
51 | 61 | click_link('sensor1')
|
52 | 62 |
|
53 | 63 | expect(page).to have_content('-256')
|
54 | 64 | end
|
55 | 65 |
|
56 |
| - scenario 'does not provide a trailing / for the path' do |
57 |
| - sensor = build(:ds18b20) |
58 |
| - sensor.path.chop! |
59 |
| - create_ds18b20(sensor) |
60 |
| - |
61 |
| - expect(page).to have_current_path(new_ds18b20_path) |
| 66 | + scenario 'provides no file' do |
| 67 | + sensor = build(:ds18b20, file: nil) |
| 68 | + create_ds18b20_via_form(sensor) |
62 | 69 |
|
| 70 | + expect(page).to have_content('Something is missing') |
63 | 71 | end
|
64 | 72 |
|
| 73 | + scenario 'provides no trailing / on path' do |
| 74 | + sensor = build(:ds18b20, path: '/bad/path') |
| 75 | + create_ds18b20_via_form(sensor) |
| 76 | + |
| 77 | + expect(page).to have_content('Path must have trailing /') |
| 78 | + end |
65 | 79 | private
|
66 | 80 |
|
67 |
| - def create_ds18b20(sensor) |
| 81 | + def create_ds18b20_via_form(sensor) |
68 | 82 | visit '/'
|
69 | 83 | click_link I18n.t('views.home.link.ds18b20_create')
|
70 | 84 | fill_in 'ds18b20_name', with: sensor.name
|
|
0 commit comments