Faits : A. A.a. A._ exploite l'établissement public D._, à... (VS). Par contrat de travail de durée indéterminée prenant effet le 1 er août 2007, elle a engagé B._ en qualité de pizzaïola, pour un salaire mensuel brut de 3'260 fr. versé treize fois l'an. Dès le 1 er juillet 2010, cette employée a été affectée en cuisine et son salaire mensuel brut est passé à 3'750 fr., 13 e salaire en sus. Alors qu'elle était enceinte d'un mois, B._ a fait une fausse couche. Son incapacité de travail, d'abord prévue pour un temps indéterminé, a finalement duré deux jours, du 18 au 20 janvier 2011. Le samedi 12 mars 2011, B._ a effectué son service du matin jusqu'à 14 heures, mais ne s'est pas présentée pour celui du soir. Le mardi 15 mars 2011, A._ a adressé à B._ une lettre de « mise en demeure » se référant à son absence du samedi soir « sans aucune excuse ou motif valable », et lui donnant un « dernier avertissement ». Ce même 15 mars, B._ a travaillé jusqu'à 14 heures, puis, se sentant très mal, s'est rendue chez son médecin qui a diagnostiqué un début de dépression. Elle n'a pas repris son service du soir et a été mise en incapacité totale de travailler du 16 mars au 10 avril 2011. A.b. Le 12 avril 2011, B._ s'est présentée sur son lieu de travail et a constaté que son poste était occupé. A._ lui a alors présenté une lettre de congé dont la teneur est la suivante: « B._ Par la présente, je t'informe que je te donne ton congé pour le 31 mai prochain. Ton incompatibilité d'humeur avec ta collègue, avec moi, rend tout rapport de travail impossible. Afin de ne pas mettre en péril la bonne marche de mon entreprise, j'ai donc pris cette décision. Tu percevras les salaires d'avril et mai normalement. Un décompte final te sera envoyé ainsi qu'un certificat de travail. Je te libère de l'obligation de travailler dès le 12 avril 2011. » B._ a contresigné cette lettre de congé, puis a quitté les lieux. Lors de son interrogatoire par le Tribunal du travail, elle a précisé qu'elle avait apposé sa signature sur cette lettre pour acceptation. Selon ses explications, elle savait que A._ avait engagé quelqu'un pour la remplacer en cuisine et elle espérait être licenciée, car les rapports de travail étaient devenus difficiles à la suite des doutes émis sur la crédibilité de ses diverses incapacités de travail; elle avait donc accepté sans autre le congé qui lui avait été donné, puisqu'elle l'attendait. A.c. A une date indéterminée, mais qui se situe aux alentours du 20 avril 2011, B._ est tombée enceinte, information qu'elle a portée à la connaissance de A._ par courrier du 26 mai 2011. Invoquant la suspension du congé pendant la grossesse et au cours des seize semaines qui suivent l'accouchement, l'intéressée a offert ses services à A._ et l'a mise en demeure de lui fournir du travail, ce que cette dernière a refusé. S'estimant ainsi libérée de son obligation de travailler, B._ a invité A._ à lui verser son salaire jusqu'à seize semaines après son accouchement, sans succès. Toutes ces démarches ont été effectuées avec l'aide du Syndicat E._, auquel B._ est affiliée. Par lettre du 18 novembre 2011, la Caisse de chômage C._ (ci-après: la caisse de chômage) a informé A._ qu'elle avait décidé de verser l'indemnité de chômage à B._ tant que durerait le litige relatif à l'obligation de payer le salaire durant le délai de congé; elle a précisé que le versement entraînait une subrogation légale en sa faveur. B._ a accouché d'une fille le 16 janvier 2012. Par décision du 20 avril 2012, la caisse de compensation lui a accordé une allocation de maternité de 10'662 fr. 40. Quant aux indemnités de chômage perçues par l'intéressée, elles se sont élevées au montant brut de 27'075 fr. 05 pour la période de juin 2011 à juin 2012. B. B.a. Après une tentative de conciliation infructueuse, B._ a assigné A._ le 2 avril 2012 devant le Tribunal du travail du canton du Valais en paiement de la somme brute de 18'525 fr. 75 avec intérêts à 5% dès le 15 décembre 2011 (date moyenne). Par écriture séparée du même jour, la caisse de chômage a fait de même; se prévalant de la subrogation, elle a chiffré ses prétentions au montant brut de 19'051 fr. 25, avec intérêts à 5% dès le 15 décembre 2011. Par la suite, tenant compte des indemnités de chômage perçues pour la période de juin 2011 à juin 2012, B._ a réduit ses prétentions au montant brut de 10'501 fr. 95, tandis que la caisse de chômage a porté les siennes au montant brut de 27'075 fr. 05. A._ a conclu au rejet des demandes. B.b. Par jugement du 25 juin 2013, le Tribunal du travail a condamné A._ à verser le montant net de 8'003 fr. 55 à B._, à payer auprès des caisses afférentes les charges sociales et impôts à la source calculés sur un montant brut de 10'501 fr. 95, le tout avec intérêts à 5% dès le 15 décembre 2011, et enfin, à verser à la caisse de chômage le montant net de 27'075 fr. 05 avec intérêts à 5% dès le 15 décembre 2011. B.c. Par jugement du 8 juin 2015, la II e Cour civile du Tribunal cantonal du Valais a rejeté l'appel déposé par A._. En bref, les juges cantonaux, procédant à une interprétation objective de la volonté des parties, ont retenu que la lettre de congé présentée à la travailleuse et contresignée par celle-ci le 12 avril 2011 ne constituait pas une résiliation conventionnelle, mais une résiliation unilatérale. D'après les éléments du dossier, la volonté réelle de la défenderesse était de mettre un terme au contrat de travail pour l'échéance légale, tout en libérant la demanderesse de son obligation de travailler; les juges en ont déduit que le congé notifié le 12 avril 2011 était un congé ordinaire et non un licenciement pour justes motifs. Ils ont dès lors rejeté la requête de la défenderesse tendant à l'interrogatoire des parties et à l'audition de témoins. Cette mesure visait à démontrer un comportement de la travailleuse propre à justifier une résiliation immédiate des relations de travail; elle ne portait donc pas sur des faits pertinents, puisqu'on était en présence d'un licenciement ordinaire. La travailleuse n'avait pas commis d'abus de droit en attendant près d'un mois pour annoncer sa grossesse; elle bénéficiait de la protection accordée par l'art. 336c al. 1 let. c CO. Elle avait valablement offert ses services par lettre du 26 mai 2011; en raison de la suspension du délai de congé (art. 336c al. 2 et 3 CO), les rapports de travail avaient cessé le 30 juin 2012 et la travailleuse avait droit à son salaire jusque-là. C. La défenderesse a interjeté un recours en matière civile au Tribunal fédéral contre le jugement du 8 juin 2015, en concluant principalement à sa réforme dans le sens du rejet des demandes de B._ et de la caisse de chômage, et subsidiairement à son annulation, la cause étant renvoyée aux instances cantonales pour instruction complémentaire. Invitée à se déterminer sur le recours, la cour cantonale a indiqué ne pas avoir d'observations à formuler et se référer aux considérants de son jugement. Egalement invitées, par leur conseil commun, à déposer des déterminations, B._ et la caisse de chômage n'ont pas procédé.