forked from eatvio/eatvio_app
feat(tests): test coverage is 69.2
This commit is contained in:
@@ -621,5 +621,105 @@ void main() {
|
||||
cubit.setOptionContent('Item 2', 1);
|
||||
expect(cubit.state.planData.options[0].items.length, 2);
|
||||
});
|
||||
|
||||
test('validateTitlesOfAllFilledOptions - возвращает true когда selectedOptionIndex == null и все опции валидны', () {
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
cubit.setOptionTitle('Valid Title 1');
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setOptionTitle('Valid Title 1');
|
||||
cubit.setSelectedOptionIndex(1);
|
||||
cubit.setOptionTitle('Valid Title 2');
|
||||
cubit.setSelectedOptionIndex(2);
|
||||
cubit.setOptionTitle('Valid Title 3');
|
||||
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
final result = cubit.validateTitlesOfAllFilledOptions();
|
||||
expect(result, true);
|
||||
});
|
||||
|
||||
test('validateTitlesOfAllFilledOptions - возвращает false когда selectedOptionIndex == null и опция 0 невалидна', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setOptionTitle('AB'); // невалидное название
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
|
||||
final result = cubit.validateTitlesOfAllFilledOptions();
|
||||
expect(result, false);
|
||||
});
|
||||
|
||||
test('validateDescriptionsOfAllOptions - возвращает true когда selectedOptionIndex == null и все описания валидны', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setOptionDescription('Valid Description 1');
|
||||
cubit.setSelectedOptionIndex(1);
|
||||
cubit.setOptionDescription('Valid Description 2');
|
||||
cubit.setSelectedOptionIndex(2);
|
||||
cubit.setOptionDescription('Valid Description 3');
|
||||
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
final result = cubit.validateDescriptionsOfAllOptions();
|
||||
expect(result, true);
|
||||
});
|
||||
|
||||
test('validateDescriptionsOfAllOptions - возвращает false когда selectedOptionIndex == null и опция 0 невалидна', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setOptionDescription('AB'); // невалидное описание
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
|
||||
final result = cubit.validateDescriptionsOfAllOptions();
|
||||
expect(result, false);
|
||||
});
|
||||
|
||||
test('validateItemsOfAllFilledOptions - возвращает true когда selectedOptionIndex == null и все items валидны', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setOptionContent('Valid Item 1', 0);
|
||||
cubit.setSelectedOptionIndex(1);
|
||||
cubit.setOptionContent('Valid Item 2', 0);
|
||||
cubit.setSelectedOptionIndex(2);
|
||||
cubit.setOptionContent('Valid Item 3', 0);
|
||||
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
final result = cubit.validateItemsOfAllFilledOptions();
|
||||
expect(result, true);
|
||||
});
|
||||
|
||||
test('validateItemsOfAllFilledOptions - возвращает false когда selectedOptionIndex == null и опция 0 имеет пустые items', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
// items пустые
|
||||
cubit.setSelectedOptionIndex(null);
|
||||
|
||||
final result = cubit.validateItemsOfAllFilledOptions();
|
||||
expect(result, false);
|
||||
});
|
||||
|
||||
test('validatePriceOfAllFilledOptions - возвращает true когда все цены валидны', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setPrice(1500.0);
|
||||
cubit.setSelectedOptionIndex(1);
|
||||
cubit.setPrice(2000.0);
|
||||
cubit.setSelectedOptionIndex(2);
|
||||
cubit.setPrice(2500.0);
|
||||
|
||||
final result = cubit.validatePriceOfAllFilledOptions();
|
||||
expect(result, true);
|
||||
});
|
||||
|
||||
test('validatePriceOfAllFilledOptions - возвращает false когда опция 1 имеет невалидную цену', () {
|
||||
cubit.setSelectedOptionIndex(0);
|
||||
cubit.setPrice(1500.0);
|
||||
cubit.setSelectedOptionIndex(1);
|
||||
cubit.setPrice(1000.0); // невалидная цена
|
||||
cubit.setSelectedOptionIndex(2);
|
||||
cubit.setPrice(2500.0);
|
||||
|
||||
final result = cubit.validatePriceOfAllFilledOptions();
|
||||
expect(result, false);
|
||||
});
|
||||
|
||||
test('setPlanType - не валидирует когда type.any((elem) => elem) == false', () {
|
||||
cubit.setPlanType([false, false, false, false]);
|
||||
expect(cubit.state.planData.type, [false, false, false, false]);
|
||||
// Валидация не должна вызываться, так как все элементы false
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user