Skip to content

Commit

Permalink
Improving the dev workflow: Setup browserstack, add necessary configu…
Browse files Browse the repository at this point in the history
…ration files and tests for mobile (oppia#5340)

* Basic Setup

* Add protractor-production to config-file-paths

* Add copyright notice

* Modify production conf

* Try out linux platform

* Change platform to mac

* Revert Travis changes

* Add sample env file for browserstack

* Add configuration file for browserstack

* Other minor changes

* Add env example to config files

* Add explanation for the process

* Add isMobile variable to existing conf file

* Increase timeout for mobile device

* Remove unused until variable

* Add more options to example environment file

* Refactor learnerDashboard

* Add subscriptions end-to-end tests

* Add export for completeSignup function

* Add reload functions in AdminPage object

* Add helper functions for mobile in CreatorDashboardPage object

* Add demo test exploration for mobile and exploration id in feconf.py

* Make findExploration and findCollection functions suitable for mobile, in LibraryPage object

* Add new spec and browser.isMobile

* Add end-to-end test suite for mobile

* Review changes and spec addition

* Add protractor mobile test tags in various html files

* Remove trailing space in top_navigation_bar_directive.html

* Fix findCollection

* Add test exploration for rating mechanism

* Refactor editorAndPlayer

* Add tests for ratings

* Add rating spec

* Review changes: capitalize letters

* Add console errors to libraryFlow

* Accept alert for reloadCollection

* Modify loginFlow suit

* Fix protractor mobile test tag

* Parallelize tests in configuration file

* Add refactored specs to Travis

* Change the word collection to exploration

* Remove extra spaces in comment

* Change line break

* Add test exploration for learner flow in mobile

* Add test collection for learner flow

* Add entry in demo collections

* Modify reloadCollection function to take in the collectionId

* Add more specs to learnerFlow

* Remove fit and add it in spec

* Testing it out with Travis

* Add conditions to Travis

* Minor tweak

* Remove demo condition in .travis.yml

* Some review changes

* Add protractor_desktop dir

* Restructure protractor dir

* Restructure protractor_mobile dir

* Add additional functions and do review changes

* Restructure conf file

* Restructure browserstack conf file

* Modify test exploration

* Modify tags

* Modify tags

* Restructure travis config

* Combine console with accesibility and make other changes

* Remove console test from .travis.yml

* Restructure learnerDashboard tests

* Logout users

* Add libraryFlow to full in config

* Change function create exploration function name

* Move ratings to libraryFlow

* Modifying config files

* Minor tweaks

* Change login name

* Add check for dev mode

* Add comments to config files

* Rename desktop spec and modify config file

* .travis.yml

* Abstract commom functions in learnerFlow

* Add quotes around env vars

* libraryFlow: nit and unification

* Further unification and review changes

* Lint fix: fit --> it

* Fix learnerFlow tests

* Fix var .travis.yml

* Modify check in protractor config file

* Add exploration_player_test.yaml

* Move functions to LearnerDashboardPage and unify learnerFlow

* Further unification and removal of branching

* Modify space-before-function-paren rule and fix corresponding errors

* Modify html tag and learnerFlow for mobile

* Minor tweak

* Create submitSearchQuery function

* Reduce branching in libraryFlow

* Remove file

* Unification and fixes

* Fix search service

* Add necessary tags

* Reduce branching and other minor tweaks

* Rename loginFlow to profileFlow and necessary changes

* Rename profileFlow to profileMenuFlow and necessary changes

* Add explanation for desktop part of test

* Remove console error msgs
  • Loading branch information
apb7 authored Aug 4, 2018
1 parent 07c0698 commit 0b5692a
Show file tree
Hide file tree
Showing 66 changed files with 1,918 additions and 703 deletions.
4 changes: 2 additions & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@
"space-before-function-paren": [
"error",
{
"anonymous": "ignore",
"asyncArrow": "ignore",
"anonymous": "never",
"asyncArrow": "never",
"named": "never",
}
],
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ gae_runtime/*
third_party/*
backend_prod_files/*
core/templates/prod/*
core/tests/.browserstack.env
.coverage*
.viminfo
libpeerconnection.log
Expand Down
25 changes: 21 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ language: python
python:
- 2.7

addons:
browserstack:
username: $USERNAME
access_key: $ACCESS_KEY

branches:
only:
- master
Expand All @@ -22,13 +27,19 @@ env:
- RUN_E2E_TESTS_ACCESSIBILITY=true
- RUN_E2E_TESTS_COLLECTIONS=true
- RUN_E2E_TESTS_EDITOR_AND_PLAYER=true
- RUN_E2E_TESTS_STATE_EDITOR=true
- RUN_E2E_TESTS_EDITOR_FEATURES=true
- RUN_E2E_TESTS_EMBEDDING=true
- RUN_E2E_TESTS_EXTENSIONS=true
- RUN_E2E_TESTS_LEARNER_DASHBOARD=true
- RUN_E2E_TESTS_SUBSCRIPTIONS_AND_FEEDBACK_THREADS=true
- RUN_E2E_TESTS_LEARNER=true
- RUN_E2E_TESTS_LIBRARY=true
- RUN_E2E_TESTS_PROFILE_MENU=true
- RUN_E2E_TESTS_PUBLICATION=true
- RUN_E2E_TESTS_STATE_EDITOR=true
- RUN_E2E_TESTS_SUBSCRIPTIONS=true
- RUN_E2E_TESTS_USERS=true
# E2E tests for mobile.
- RUN_E2E_TESTS_MOBILE=true

matrix:
allow_failures: []
Expand Down Expand Up @@ -85,13 +96,19 @@ script:
- if [ "$RUN_E2E_TESTS_ACCESSIBILITY" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="accessibility" --prod_env; fi
- if [ "$RUN_E2E_TESTS_COLLECTIONS" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="collections" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EDITOR_AND_PLAYER" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="editorAndPlayer" --prod_env; fi
- if [ "$RUN_E2E_TESTS_STATE_EDITOR" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="stateEditor" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EDITOR_FEATURES" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="editorFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EMBEDDING" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="embedding" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXTENSIONS" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="extensions" --prod_env; fi
- if [ "$RUN_E2E_TESTS_LEARNER_DASHBOARD" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="learnerDashboard" --prod_env; fi
- if [ "$RUN_E2E_TESTS_SUBSCRIPTIONS_AND_FEEDBACK_THREADS" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="learnerDashboardSubscriptionsAndFeedbackThreads" --prod_env; fi
- if [ "$RUN_E2E_TESTS_LEARNER" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="learner" --prod_env; fi
- if [ "$RUN_E2E_TESTS_LIBRARY" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="library" --prod_env; fi
- if [ "$RUN_E2E_TESTS_PROFILE_MENU" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="profileMenu" --prod_env; fi
- if [ "$RUN_E2E_TESTS_PUBLICATION" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="publication" --prod_env; fi
- if [ "$RUN_E2E_TESTS_STATE_EDITOR" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="stateEditor" --prod_env; fi
- if [ "$RUN_E2E_TESTS_SUBSCRIPTIONS" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="subscriptions" --prod_env; fi
- if [ "$RUN_E2E_TESTS_USERS" == 'true' ]; then travis_retry bash scripts/run_e2e_tests.sh --suite="users" --prod_env; fi
# Run e2e tests for mobile in dev mode since the demo explorations and collections are only available in the dev mode and not in production mode.
- if [ "$RUN_E2E_TESTS_MOBILE" == 'true' ] && [ "$TRAVIS_BRANCH" == 'develop' ] && [ "$TRAVIS_EVENT_TYPE" == 'push' ] && [ "$TRAVIS_PULL_REQUEST" == 'false' ]; then travis_retry bash scripts/run_e2e_tests.sh --browserstack; fi

after_success:
- if [ "$RUN_BACKEND_TESTS" == 'true' ] && [ "$REPORT_BACKEND_COVERAGE" == 'true' ]; then codecov; fi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ oppia.directive('solutionEditor', [
ui_config: {}
};

$scope.getAnswerHtml = function () {
$scope.getAnswerHtml = function() {
return ExplorationHtmlFormatterService.getAnswerHtml(
StateSolutionService.savedMemento.correctAnswer,
StateInteractionIdService.savedMemento,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,35 +89,35 @@

<ul>
<li ng-class="{'active': NAV_MODE === 'library'}">
<a href="/library">
<a href="/library" class="protractor-mobile-test-library-link">
<i class="material-icons oppia-sidebar-menu-icon">&#xE88A;</i>
<span translate="I18N_SIDEBAR_LIBRARY_LINK"></span>
</a>
</li>

<li ng-class="{'active': NAV_MODE === 'about'}">
<a href="/about">
<a href="/about" class="protractor-mobile-test-about-link">
<i class="material-icons oppia-sidebar-menu-icon">&#xE887;</i>
<span translate="I18N_SIDEBAR_ABOUT_LINK"></span>
</a>
</li>

<li ng-class="{'active': NAV_MODE === 'get_started'}">
<a href="/get_started">
<a href="/get_started" class="protractor-mobile-test-get-started-link">
<i class="oppia-sidebar-menu-icon fa">&#xf135;</i>
<span translate="I18N_SIDEBAR_GET_STARTED"></span>
</a>
</li>

<li ng-class="{'active': NAV_MODE === 'teach'}">
<a href="/teach">
<a href="/teach" class="protractor-mobile-test-teach-link">
<i class="material-icons oppia-sidebar-menu-icon">&#xE88E;</i>
<span translate="I18N_SIDEBAR_TEACH_WITH_OPPIA"></span>
</a>
</li>

<li ng-class="{'active': NAV_MODE === 'donate'}">
<a href="/donate">
<a href="/donate" class="protractor-mobile-test-donate-link">
<i class="material-icons oppia-sidebar-menu-icon">&#xE87D;</i>
<span translate="I18N_SIDEBAR_DONATE"></span>
</a>
Expand All @@ -131,7 +131,7 @@
</li>

<li ng-class="{'active': NAV_MODE === 'contact'}">
<a href="/contact">
<a href="/contact" class="protractor-mobile-test-contact-link">
<i class="material-icons oppia-sidebar-menu-icon">&#xE0BE;</i>
<span translate="I18N_SIDEBAR_CONTACT_US"></span>
</a>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ oppia.directive('collectionSummaryTile', [
);
};

$scope.getCompleteThumbnailIconUrl = function () {
$scope.getCompleteThumbnailIconUrl = function() {
return UrlInterpolationService.getStaticImageUrl(
$scope.getThumbnailIconUrl());
};

$scope.getStaticImageUrl = function (url) {
$scope.getStaticImageUrl = function(url) {
return UrlInterpolationService.getStaticImageUrl(url);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ oppia.directive('explorationSummaryTile', [
$scope.$apply();
});

$scope.getCompleteThumbnailIconUrl = function () {
$scope.getCompleteThumbnailIconUrl = function() {
return UrlInterpolationService.getStaticImageUrl(
$scope.getThumbnailIconUrl());
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ <h3 class="activity-title protractor-test-exp-summary-tile-title" ng-style="isPl
</span>
</li>
</ul>
<button ng-if="isCollectionPreviewTile" class="oppia-learner-confirm-button md-button md-default-theme"
<button ng-if="isCollectionPreviewTile" class="oppia-learner-confirm-button md-button md-default-theme protractor-test-play-exploration-button"
style="display: block; margin: auto; touch-action: pan-y; user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);">
<span translate="I18N_PLAYER_PLAY_EXPLORATION"></span>
</button>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<div class="navbar-header protractor-test-navbar-header pull-left">
<a ng-if="windowIsNarrow" ng-click="toggleSidebar()"
class="navbar-brand oppia-navbar-menu oppia-transition-200" tabindex="0">
class="navbar-brand oppia-navbar-menu oppia-transition-200 protractor-mobile-test-navbar-button"
tabindex="0">
<i class="material-icons oppia-navbar-menu-icon" ng-if="!isSidebarShown()" >&#xE5D2;</i>
<i class="material-icons oppia-navbar-close-icon" ng-if="isSidebarShown()" >&#10005;</i>
</a>
Expand Down Expand Up @@ -112,13 +113,13 @@
<hr class="oppia-top-right-menu-item-separator">
<li>
<a ng-click="closeSubmenuIfNotMobile($event)" href="/creator_dashboard"
class="protractor-test-dashboard-link">
class="protractor-test-dashboard-link protractor-test-creator-dashboard-link">
<span translate="I18N_TOPNAV_CREATOR_DASHBOARD"></span>
</a>
</li>
<li>
<a ng-click="closeSubmenuIfNotMobile($event)" href="/learner_dashboard"
class="protractor-test-dashboard-link">
class="protractor-test-dashboard-link protractor-test-learner-dashboard-link">
<span translate="I18N_TOPNAV_LEARNER_DASHBOARD"></span>
</a>
</li>
Expand Down Expand Up @@ -161,7 +162,7 @@

<li uib-dropdown ng-if="!username" class="oppia-navbar-clickable-dropdown">
<div class="oppia-navbar-button-container" style="margin-right: 10px;">
<button class="btn oppia-navbar-button"
<button class="btn oppia-navbar-button protractor-mobile-test-login"
ng-click="onLoginButtonClicked()">
<span translate="I18N_TOPNAV_SIGN_IN"></span>
<span class="caret"></span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ describe('Solution object factory', function() {

describe('SolutionObjectFactory', function() {
var scope, sof, solution;
beforeEach(inject(function ($injector, $rootScope) {
beforeEach(inject(function($injector, $rootScope) {
scope = $rootScope.$new();
sof = $injector.get('SolutionObjectFactory');
solution = sof.createFromBackendDict({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ oppia.factory('FractionObjectFactory', [
this.denominator = denominator;
};

Fraction.prototype.toString = function () {
Fraction.prototype.toString = function() {
var fractionString = '';
if (this.numerator !== 0) {
fractionString += this.numerator + '/' + this.denominator;
Expand All @@ -60,17 +60,17 @@ oppia.factory('FractionObjectFactory', [
};
};

Fraction.prototype.toFloat = function () {
Fraction.prototype.toFloat = function() {
var totalParts = (this.wholeNumber * this.denominator) + this.numerator;
var floatVal = (totalParts / this.denominator);
return this.isNegative ? -floatVal : floatVal;
};

Fraction.prototype.getIntegerPart = function () {
Fraction.prototype.getIntegerPart = function() {
return this.isNegative ? -this.wholeNumber : this.wholeNumber;
};

Fraction.prototype.convertToSimplestForm = function () {
Fraction.prototype.convertToSimplestForm = function() {
var gcd = function(x, y) {
return y === 0 ? x : gcd(y, x % y);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ describe('URL Interpolation Service', function() {
GLOBALS.DEV_MODE = true;
});

it('should add hash to url if hash is set', function () {
it('should add hash to url if hash is set', function() {
expect(uis._getUrlWithSlug('/hash_test.html')).toBe(
'/hash_test.' + hashes['/hash_test.html'] + '.html'
);
Expand All @@ -42,7 +42,7 @@ describe('URL Interpolation Service', function() {
);
});

it('should build complete URL with prefixes and hash', function () {
it('should build complete URL with prefixes and hash', function() {
expect(uis._getCompleteUrl('/test_folder', '/hash_test.html')).toBe(
'/build/test_folder/hash_test.' + hashes['/hash_test.html'] + '.html'
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ <h2 ng-if="collectionPlaythrough.hasFinishedCollection()" class="oppia-page-head
<img ng-src="<[getStaticImageUrl('/general/collection_mascot.svg')]>" class="mobile-lesson-icon">
<div class="mobile-path-segment" ng-repeat="node in collection.getCollectionNodes()" id="mobile-path-anchor-<[$index]>">
<a href="" style="position: absolute; left: 50%; transform: translate(-50%, 195px); z-index: 1;">
<svg class="protractor-test-collection-exploration"
<svg class="protractor-mobile-test-collection-exploration"
width="100"
height="150"
xmlns="http://www.w3.org/2000/svg"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ oppia.controller('CreatorDashboard', [
return value;
};

$scope.getCompleteThumbnailIconUrl = function (iconUrl) {
$scope.getCompleteThumbnailIconUrl = function(iconUrl) {
return UrlInterpolationService.getStaticImageUrl(iconUrl);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ <h1 class="stat-value-without-rating" ng-hide="dashboardStats.num_ratings || rel
<li ng-if="!canCreateCollections && collectionsList.length === 0 && subscribersList.length === 0"></li>
<li ng-if="canCreateCollections && collectionsList.length > 0"
ng-class="{'oppia-dashboard-tabs-active': activeTab === 'myCollections'}">
<a class="oppia-dashboard-tabs-text"
<a class="oppia-dashboard-tabs-text protractor-test-collections-tab"
ng-click="setActiveTab('myCollections')"
translate="I18N_DASHBOARD_COLLECTIONS">
</a>
Expand Down Expand Up @@ -114,7 +114,7 @@ <h2 class="oppia-dashboard-title" translate="I18N_DASHBOARD_CREATOR_DASHBOARD"><
<div>
<p translate="I18N_DASHBOARD_EXPLORATIONS_EMPTY_MESSAGE"></p>
<button type="button"
class="btn oppia-dashboard-intro-button oppia-transition-200"
class="btn oppia-dashboard-intro-button oppia-transition-200 protractor-test-create-new-exploration-button"
ng-click="createNewExploration()"
translate="I18N_CREATE_EXPLORATION">
</button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ oppia.directive('explorationObjectiveEditor', [
'exploration_objective_editor_directive.html'),
controller: [
'$scope', 'ExplorationObjectiveService',
function ($scope, ExplorationObjectiveService) {
function($scope, ExplorationObjectiveService) {
$scope.explorationObjectiveService = ExplorationObjectiveService;
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ oppia.factory('InteractionDetailsCacheService', [function() {
contains: function(interactionId) {
return _cache.hasOwnProperty(interactionId);
},
removeDetails: function (interactionId) {
removeDetails: function(interactionId) {
delete _cache[interactionId];
},
set: function(interactionId, interactionCustomizationArgs) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ oppia.factory('ResponsesService', [
callback(_answerGroupsMemento);
};

var _updateAnswerGroupsAudioTranslation = function () {
var _updateAnswerGroupsAudioTranslation = function() {
StateContentIdsToAudioTranslationsService.displayed.
deleteAllFeedbackContentId();
for (var i = 0; i < _answerGroups.length; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ describe('Solution Validity Service', function() {
svs = $injector.get('SolutionValidityService');

it('should store validity of the solution correctly',
function () {
function() {
// Initialize SolutionValidityService.
svs.init();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ oppia.directive('pieChart', [function() {

// Need to wait for load statement in editor template to finish.
// https://stackoverflow.com/questions/42714876/
google.charts.setOnLoadCallback(function () {
google.charts.setOnLoadCallback(function() {
if (!chart) {
chart = new google.visualization.PieChart($element[0]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ oppia.controller('LearnerDashboard', [
ui.placeholder.height(ui.item.height());
$scope.$apply();
},
sort: function (e, ui) {
sort: function(e, ui) {
/* eslint-disable quote-props */
// Reset the position of the window on scrolling. This keeps the mouse
// position and elements in sync.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ <h1 class="stat-value"><[subscriptionsList.length]></h1>
<p class="oppia-learner-dashboard-intro-card-message" style="padding-top: 15px;"
translate="I18N_LEARNER_DASHBOARD_INTRO_MESSAGE_PART_TWO">
</p>
<a class="btn oppia-learner-dashboard-intro-button oppia-transition-200"
<a class="btn oppia-learner-dashboard-intro-button oppia-transition-200 protractor-mobile-test-learner-dashboard-intro-button"
translate="I18N_ACTION_BROWSE_LESSONS"
ng-href="/library">
</a>
Expand Down
2 changes: 1 addition & 1 deletion core/templates/dev/head/pages/library/Library.js
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ oppia.controller('Library', [

// Check if actual and expected widths are the same.
// If not produce an error that would be caught by e2e tests.
$timeout(function () {
$timeout(function() {
var actualWidth = $('exploration-summary-tile').width();
if (actualWidth && actualWidth !== LIBRARY_TILE_WIDTH_PX) {
console.error(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

oppia.directive('skillConceptCardEditor', [
'UrlInterpolationService', 'SkillUpdateService', 'SkillEditorStateService',
function (
function(
UrlInterpolationService, SkillUpdateService, SkillEditorStateService) {
return {
restrict: 'E',
Expand Down
11 changes: 10 additions & 1 deletion core/templates/dev/head/services/SearchService.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,16 @@ oppia.factory('SearchService', [
$rootScope.$broadcast(
'initialSearchResultsLoaded', data.activity_list);
_isCurrentlyFetchingResults = false;
if ($('.oppia-search-bar-input').val().trim() !== searchQuery) {
var checkMismatch = function(searchQuery) {
var isMismatch = true;
$('.oppia-search-bar-input').each(function(index) {
if ($(this).val().trim() === searchQuery) {
isMismatch = false;
}
});
return isMismatch;
};
if (checkMismatch(searchQuery)) {
$log.error('Mismatch');
$log.error('SearchQuery: ' + searchQuery);
$log.error('Input: ' + $('.oppia-search-bar-input').val().trim());
Expand Down
Loading

0 comments on commit 0b5692a

Please sign in to comment.