feat(tests): test coverage is 69.2

This commit is contained in:
misha
2026-01-21 09:19:41 +03:00
parent 775d4fb80f
commit f6809a06b3
16 changed files with 5274 additions and 333 deletions

View File

@@ -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
});
});
}